尝试仅从产品循环中的产品中删除“添加到购物车”按钮,然后添加一些文字。
以下代码确实删除了按钮,但在条件验证后也从所有按钮中删除:
function remove_purchase_buttons_from_loop() {
if( $product->id == $_product->id ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'level_already_in_cart_notice', 10 );
}
}
add_action ('woocommerce_before_shop_loop_item', 'remove_purchase_buttons_from_loop'));
我理解为什么会发生这种情况,但是什么是正确的解决方案
答案 0 :(得分:0)
试试这个
if(is_single()) {
function remove_purchase_buttons_from_loop() {
if( $product->id == $_product->id ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'level_already_in_cart_notice', 10 );
}
}
add_action ('woocommerce_before_shop_loop_item', 'remove_purchase_buttons_from_loop'));
} else {
// your code
}
我希望这会对你有所帮助。