簡體   English   中英

從循環中刪除“添加到購物車按鈕”(Wordpress主題:Avada)

[英]Remove “add to cart button” from loop (Wordpress Theme: Avada)

我想刪除除單篇文章之外的所有地方的“添加到購物車按鈕”。

我已經嘗試過此解決方案:

僅在woocommerce商店/類別頁面上隱藏“添加到購物車”按鈕

雖然它對我沒有用。 我猜這是因為我使用的模板是: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 ); } 

它什么也沒做。 有人知道我需要做什么嗎?

編輯:有這些行的文件類-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 );

我也堅持這個問題,因為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,它對我有用!

需要覆蓋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' );

只需將下面的代碼添加到functions.php中

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');

然后讓我知道結果。 謝謝

請使用下面的代碼從商店頁面刪除“ add to cart按鈕,因為您缺少$avada_woocommerce ,這是用於avada woocommerce的變量。

remove_action( 'woocommerce_after_shop_loop_item', array( $avada_woocommerce, 'show_details_button' ), 15 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM