我有一个定制的WooCommerce商店,我希望能够根据条件使某些产品变化变灰,但我不确定代码在哪里做。
任何人都可以指向我的文件/钩子/动作,我可以在变量输出中注入一些自定义代码,这样我可以实现这一点吗?
感谢。
答案 0 :(得分:1)
对于您的两个问题,您可以使用其他方式 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
操作挂钩在用户元数据中设置自定义数据。然后,您可以在 woocommerce_add_to_cart_validation
过滤器挂钩中检查此数据是否启用或禁用正确的产品变体。
要完成,如果你真的想要变灰一些变种,你将不得不使用Javascript / jQuery,但是因为在产品变化上已经有很多javascript / Ajax WooCommerce事件,这将会非常困难,冲突你的。但是在WooCommerce中,一切皆有可能取决于时间和技能......