Woocommerce - 禁用添加到购物车有条件的自定义字段

时间:2017-09-18 14:57:15

标签: php wordpress woocommerce

我在删除WooComm添加到购物车按钮时可以找到的所有内容不仅会删除添加到购物车按钮,还会删除定价/变体,即整个添加到购物车区域。

我的目标是启用/禁用在产品信息页面上使用复选框/选择器购买产品的功能。但我仍然必须能够看到产品变化定价和变化下拉菜单。

这很重要。对于变体,产品标题下显示的价格将为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');

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

如果未设置价格,请添加此选项以消除“抱歉..”消息。

{{1}}

答案 2 :(得分: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);
}

不会出现不兼容问题。