2017-09-18 35 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); 
} 

没有不兼容问题将攀升。

相关问题