我尝试了很多代码示例,但没有一个有效。
我的网站有 2 个主要类别(新的和二手的),每个类别都有大约 10 个子类别。我正在使用 YITH 请求报价插件,但我只想在二手商品上使用它,有没有一种方法可以只为新类别显示添加到购物车按钮?
url 设置为 site.com/used-equipment/sub-category/product-name/
这是我试过的代码。
add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );
function remove_add_to_cart_buttons() {
if( is_product_category( array( 'used-equipment' )) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
}
}
最佳答案
— 更新—
您需要使用 has_term()
条件函数使其工作。 has_term()
接受类别或子类别名称、slug 或 ID(单个字符串或值数组)。
这是你修改后的代码:
add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );
function remove_add_to_cart_buttons() {
if( has_term( 'used-equipment', 'product_cat')) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
}
此代码已经过测试并且可以工作。它在商店页面和文件页面上删除了属于定义类别或子类别的产品的添加到购物车按钮......
这会出现在您的事件子主题(或主题)的 function.php 文件中或任何插件文件中。
关于php - 隐藏添加到特定类别的购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41184140/