隐藏'添加到购物车'按钮仅限于woocommerce商店/类别页面

时间:2014-11-17 15:41:01

标签: php wordpress

我想隐藏商店页面上的按钮,但我想在其他帖子和页面上显示。

我发现此代码隐藏了整个网站上的“添加到购物车”按钮:

add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );

function remove_add_to_cart_buttons() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
}

我如何调整它,所以它只删除了woocommerce商店和catagory页面上的按钮?

7 个答案:

答案 0 :(得分:10)

您可以使用Woocommerce条件标记来检查: http://docs.woothemes.com/document/conditional-tags/

   add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );

    function remove_add_to_cart_buttons() {
      if( is_product_category() || is_shop()) { 
        remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
      }
    }

答案 1 :(得分:1)

这也可以通过定位相关类来完成:

.cart{display:none;}

.avia_cart_buttons{display:none;}

在我的情况下有avia因为我使用Enfold Theme。使用inspect元素找出你的班级所在的班级。并声明它是不可见的。

另一个例子是:

.woocommerce .products .shop-column.product-hover-style-2 .product-content 
.product-add-to-cart-btn{
    display:none !important;
}

答案 2 :(得分:1)

    add_action('wp','only_add_bierkoerier_in_cart', 'woocommerce_before_cart');  

    function only_add_bierkoerier_in_cart() {

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {


    $bierkoerier_in_cart = false;
    $categories = get_categories();

    if ( has_term( 'bierkoerier', 'product_cat', $cart_item['product_id'] ) ) {
        $bierkoerier_in_cart = true;
        break;
    } 
    }

    if($bierkoerier_in_cart) {  
        wc_print_notice( 'omdat u bierkoerier producten in uw winkelwagen heeft 
    kunt u geen winkelitems toevoegen', 'notice' );
       if(is_shop() || is_product() || is_product_category()) {
         remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart' );
         remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
}
}

答案 3 :(得分:0)

要删除"添加到购物车" 按钮 你需要使用不影响其他代码的钩子 -

add_action( 'woocommerce_after_shop_loop_item', 'remove_loop_button', 1 );
function remove_loop_button()
{
if( is_product_category() || is_shop()) { 
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
}
}

这将从商店/类别页面中删除添加到购物车按钮。

  

在这里你可以获得WooCommerce Action和Filter Hook    - https://docs.woothemes.com/wc-apidocs/hook-docs.html

答案 4 :(得分:0)

这是一个插件,您可以使用它来删除隐藏禁用添加到购物车按钮https://wordpress.org/plugins/woo-options/

答案 5 :(得分:0)

这非常简单,因为我在尝试修复它时经历了几个教程。你必须把这个代码放在woocommerce.php中,以隐藏商店页面的添加到购物车按钮。

function WpBlog() {
  remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
  remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
  return WooCommerce::instance();
}

希望这对你有用,如果不让我知道我会指导你

答案 6 :(得分:0)

要从商店,产品类别和单个产品页面中删除“添加到购物车”按钮,请使用以下步骤:

  1. 在子主题中找到functions.php。子主题可防止更改被WP更新覆盖。 https://www.dreamhost.com/wordpress/create-woocommerce-child-theme/

  2. 在functions.php中放置以下代码:

add_action('woocommerce_after_shop_loop_item','remove_add_to_cart_buttons',1); 函数remove_add_to_cart_buttons(){       if(is_product_category()|| is_shop()){         remove_action('woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart');       }     }

add_action('woocommerce_single_product_summary','woocommerce_before_cart'); 函数woocommerce_before_cart(){       if(is_product()){         remove_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart',30);       }     }