我想删除所有地方的“添加到购物车按钮”,除了在单柱上。
我已经尝试过这个解决方案:
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,其中包含以下几行
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-按钮就会消失。因此,我知道这是我需要删除的钩子操作,但我就是无法删除它。
因此,我也尝试了其中的每一行:
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 );
发布于 2018-10-25 03:52:18
我也坚持这个问题,因为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,它对我很有效!
发布于 2018-07-04 23:02:57
只需将以下代码添加到functions.php中
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
那就让我知道结果。谢谢
发布于 2019-01-15 23:52:45
需要覆盖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' );
https://stackoverflow.com/questions/51175237
复制相似问题