Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 仅在一个产品上从WooCommerce循环中删除“添加到购物车”_Wordpress_Woocommerce - Fatal编程技术网

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中以这种条件包装代码即可