2017-09-18 36 views
0

我可以找到關於刪除WooComm添加到購物車按鈕的所有內容,不僅可以刪除添加到購物車按鈕,而且還可以刪除定價/變化,也就是整個添加到購物車區域。Woocommerce - 禁用添加到購物車有條件的自定義字段

我的目標是啓用/禁用在產品信息頁面上使用複選框/選擇器購買產品的功能。但我仍然必須能夠看到產品變化定價和變化下拉菜單。

這很重要。產品標題下顯示的價格變化將類似於$ 20.00 - $ 40.00,直到您選擇變體選項後,纔會顯示添加到購物車按鈕旁邊的價格。

到目前爲止,我有東西的工作,其中我可以刪除添加到購物車區 - 變化和所有 - 我的自定義字段條件,但我不知道如何隱藏/禁用點擊/刪除只是的添加到購物車按鈕,並允許在顯示變化價格時選擇變化。

function remove_add_to_cart(){ 
    if(get_post_meta(get_the_ID(), 'woo_callforinfo', true)) { 
     remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
    } 
} add_action('woocommerce_single_product_summary','remove_add_to_cart'); 

回答

0

這就是我所做的。有條件的IF語句是因爲我有一個零售商店,其中有我不想受影響的可變產品。

function remove_add_to_cart(){ 
if (has_term('wholesale', 'product_tag')) { 

    remove_action('woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20); 

} 
} 

add_action('woocommerce_single_variation','remove_add_to_cart'); 
0

如果未設置價格,則添加此設置以擺脫「Sorry ..」消息。

add_filter('gettext', 'customizing_product_variation_message', 10, 3); 
function customizing_product_variation_message($translated_text, 
$untranslated_text, $domain) 
{ 
    if ($untranslated_text == 'Sorry, this product is unavailable. Please choose a different combination.') { 
    $translated_text = __('-type anything you want here, or leave a space- ', $domain); 
} 
return $translated_text; 
} 
0

只需添加以下代碼到functions.php,你會發現隱藏的按鈕

我不知道我的解決方案是否完善。但它的工作。通常,如果is_purchasable返回到過濾器woocommerce_is_purchasable,則會顯示「添加到購物車」按鈕,如果返回false,該按鈕將被隱藏。 所以,你只需要添加以下內容:

add_filter('woocommerce_is_purchasable', 'my_woocommerce_is_purchasable', 10, 2); 

function my_woocommerce_is_purchasable($is_purchasable, $product) { 
// Write code to access custom field value in this function 
// let $custom_value be the value from checkbox 
    return ($custom_value == false ? false : $is_purchasable); 
} 

沒有不兼容問題將攀升。

相關問題