我试图找到一个代码,以防止客户将特定类别的产品添加到购物车中,并显示一个通知“对不起,您现在不能购买此产品;请稍后再试”
我发现下面的代码,但它完全隐藏添加到购物车按钮,我不希望它发生。它应该显示添加到购物车按钮,但不允许项目添加到购物车。
// Custom conditional function that check for specific product categories
function check_for_defined_product_categories( $product_id ) {
$targeted_terms = array( 't-shirts' );
return has_term( $targeted_terms, 'product_cat', $product_id );
}
// Disable add to cart button (conditionally)
add_filter( 'woocommerce_variation_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );
add_filter('woocommerce_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );
function woocommerce_is_purchasable_filter_callback( $purchasable, $product ) {
$product_id = $product->get_parent_id() > 0 ? $product->get_parent_id() : $product->get_id();
if( check_for_defined_product_categories( $product_id ) ) {
$purchasable = false;
}
return $purchasable;
}
希望你能帮助我解决这个问题。非常感谢!
- 阻止将产品(属于特定类别)添加到购物车
- 显示通知:“对不起,您此时不能购买此产品;请稍后再试”
- 不隐藏添加到购物车按钮
1条答案
按热度按时间gab6jxml1#
在functions.php中添加以下代码段