首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从循环中删除“添加到购物车按钮”(Wordpress主题: Avada)

从循环中删除“添加到购物车按钮”(Wordpress主题: Avada)
EN

Stack Overflow用户
提问于 2018-07-04 21:47:55
回答 4查看 2.1K关注 0票数 0

我想删除所有地方的“添加到购物车按钮”,除了在单柱上。

我已经尝试过这个解决方案:

Hide 'add to cart' button ONLY on woocommerce shop/category pages

然而,它对我来说并不起作用。我猜这是因为我使用的模板: Avada。看起来该模板使用的钩子与普通的woocommerce钩子不同。使用我在文件中找到的钩子名称,我尝试这样做:

循环按钮( 'woocommerce_after_shop_loop_item',‘remove_add_to_cart_add_action’,1 );函数remove_add_to_cart_buttons() { remove_action( 'avada_woocommerce_buttons_on_rollover',avada );}

它什么也做不了。有谁知道我需要做什么吗?

编辑:有一个文件类-avada-wocommerce.php,其中包含以下几行

代码语言:javascript
复制
add_action( 'avada_woocommerce_buttons_on_rollover', array( $this, 'template_loop_add_to_cart' ), 10 );
...
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );

如果我在父主题文件中删除这两行中的第一行,add-to-cart-按钮就会消失。因此,我知道这是我需要删除的钩子操作,但我就是无法删除它。

因此,我也尝试了其中的每一行:

代码语言:javascript
复制
remove_action( 'avada_woocommerce_buttons_on_rollover', 'avada_woocommerce_template_loop_add_to_cart',10 );

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');

remove_action( 'avada_woocommerce_buttons_on_rollover', array( $this, 'template_loop_add_to_cart' ), 10 );

remove_action( 'avada_woocommerce_buttons_on_rollover', 'template_loop_add_to_cart' , 10 );
EN

回答 4

Stack Overflow用户

发布于 2018-10-25 03:52:18

我也坚持这个问题,因为remove_action对我不起作用。只有通过浏览woocommerce模板的代码,我才知道他们使用过滤器来调用这个按钮。所以试试这段代码:

代码语言:javascript
复制
add_filter( 'woocommerce_loop_add_to_cart_link', 'hide_add_to_cart_link', 10, 2 );
function hide_add_to_cart_link( $html, $product ) {
    if ( !is_user_logged_in() ) { 
        $html = '';
    }
    return $html;
}

根据需要对其进行修改。我也使用Avada,它对我很有效!

票数 3
EN

Stack Overflow用户

发布于 2018-07-04 23:02:57

只需将以下代码添加到functions.php中

代码语言:javascript
复制
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');

那就让我知道结果。谢谢

票数 1
EN

Stack Overflow用户

发布于 2019-01-15 23:52:45

需要覆盖Avada Woocommerce挂钩。将此代码添加到functions.php

代码语言:javascript
复制
function remove_woo_commerce_hooks() {
    global $avada_woocommerce;
    remove_action( 'woocommerce_after_shop_loop_item', array( $avada_woocommerce, 'template_loop_add_to_cart' ), 10 );
}
add_action( 'after_setup_theme', 'remove_woo_commerce_hooks' );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51175237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档