Wordpress 仅在一个产品上从WooCommerce循环中删除“添加到购物车”
尝试仅从产品循环中的产品中删除“添加到购物车”按钮,并添加一些文本 以下代码确实删除了该按钮,但也在条件验证后从所有按钮中删除了该按钮:Wordpress 仅在一个产品上从WooCommerce循环中删除“添加到购物车”,wordpress,woocommerce,Wordpress,Woocommerce,尝试仅从产品循环中的产品中删除“添加到购物车”按钮,并添加一些文本 以下代码确实删除了该按钮,但也在条件验证后从所有按钮中删除了该按钮: function remove_purchase_buttons_from_loop() { if( $product->id == $_product->id ) { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_
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 );
}
}
我理解为什么会发生这种情况,但什么是正确的解决方案
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
}
我希望这对你有帮助。试试这个
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
}
我希望这将对您有所帮助。为什么要替换“来自”按钮的文本?你要去商店吗?不,我想阻止客户选择根据购买历史或购物车中的产品购买特定产品。在单产品视图中,一切都很好。我遇到的问题只是产品循环中的问题。为什么要替换来自按钮的文本?你要去商店吗?不,我想阻止客户选择根据购买历史或购物车中的产品购买特定产品。在单产品视图中,一切都很好。我遇到的问题只是产品循环中的问题。为什么要替换来自按钮的文本?你要去商店吗?不,我想阻止客户选择根据购买历史或购物车中的产品购买特定产品。从单一产品的角度来看,一切都很好。我遇到的问题只是产品循环中的问题。谢谢,但这如何解决它呢?你能不能把完整的代码也包括我的代码,正如我在single和no single中看到的一样,同一个代码正在运行。只需使用if(is_single()){//wrap your code}并在functions.phpThanks中在这种情况下包装你的代码,但这怎么解决呢?你能不能把完整的代码也包括我的代码,正如我在single和no single中看到的一样,同一个代码正在运行。只需使用if(is_single()){//wrap your code}并在functions.phpThanks中在这种情况下包装你的代码,但这怎么解决呢?你能不能把完整的代码也包括我的代码,正如我在single和no single中看到的一样,相同的代码正在运行。只需使用if(is_single()){//wrap your code}并在functions.php中以这种条件包装代码即可