对于您的两个问题,您可以以不同的方式使用woocommerce_add_to_cart_validation
过滤器挂钩。在一些基于用户角色和现有功能参数的条件下,客户将能够选择您的产品的变体,但如果他不被允许,将无法将其添加到购物车。你甚至可以显示通知时不允许当客户尝试添加的东西...
add_filter('woocommerce_add_to_cart_validation', 'custom_add_to_cart_validation', 10, 5);
function custom_add_to_cart_validation($passed, $product_id, $quantity, $variation_id, $variations) {
// Your code goes here
// If $passed is set to "false", the product is not added
// $passed = false;
return $passed;
}
为了您的最后一个问题,你将需要一个月的成员设置/更新有关的5种产品的一些自定义用户的元数据,每次他们下订单。你可以使用这个woocommerce_thankyou
或woocommerce_order_status_completed
动作挂钩在用户元数据中设置自定义数据。然后,您将能够检查此数据是否启用或禁用了过滤器挂钩中的正确产品变体。要完成,如果你真的想要变灰一些变化,你将不得不使用JavaScript/jQuery,但是会变得非常困难,因为在产品变体上已经有很多javascript/Ajax WooCommerce事件,会与你发生冲突。但在WooCommerce中,一切都可能取决于时间和技能......