除了单条信息,我想删除所有地方的“添加到购物车按钮”。
我已经尝试过此解决方案:
Hide 'add to cart' button ONLY on woocommerce shop/category pages
虽然它对我没有用。我猜这是因为我使用的模板是:Avada。看起来模板使用的钩子与普通的woocommerce钩子不同。使用在文件中找到的钩子名称,我尝试了以下方法:
add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 ); function remove_add_to_cart_buttons() { remove_action( 'avada_woocommerce_buttons_on_rollover', 'avada_woocommerce_template_loop_add_to_cart',10 ); }
它什么也没做。有人知道我需要做什么吗?
编辑: 有这些行的文件class-avada-woocommerce.php
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 );
如果我在父主题文件中删除了这两行的第一行,则添加到购物车按钮会消失。因此,我知道这是我需要删除的操作,但我无法删除。
因此,我也尝试了以下每一行:
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 );
答案 0 :(得分:2)
我也坚持这个问题,因为remove_action
对我不起作用。仅通过浏览woocommerce模板的代码,我才发现他们使用过滤器来调用此按钮。因此,请尝试以下代码:
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,它对我有用!
答案 1 :(得分:1)
需要覆盖Avada Woocommerce挂钩。将此代码添加到functions.php
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' );
答案 2 :(得分:0)
只需将此波纹管代码添加到functions.php中
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
然后让我知道结果。 谢谢
答案 3 :(得分:0)
请使用下面的代码从商店页面上删除add to cart
按钮,因为您缺少$avada_woocommerce
,这是用于avada woocommerce的变量。
remove_action( 'woocommerce_after_shop_loop_item', array( $avada_woocommerce, 'show_details_button' ), 15 );