對於您的兩個問題,您可以以不同的方式使用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中,一切都可能取決於時間和技能......