繁体   English   中英

如果选择了额外的产品选项,则隐藏添加到购物车按钮

[英]Hide add to cart button if extra product option is chosen

我正在使用 Woocommerce 请求报价插件和 TM 额外产品选项插件。

我希望我的客户通常要求报价,因此在每个产品上,“添加到购物车”按钮旁边都有一个按钮。

如果客户选择产品的某个选项(通过 TM 额外产品选项),我想隐藏“添加到购物车”按钮,只允许询价。 而不是直接结账。

我已经找到了这个片段来使按钮可见或不可见。

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

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

但是我不知道如何编写仅在选中 TM Extra 产品选项中的字段时才隐藏的条件。 这是单选按钮的 HTML。

<li class="tmcp-field-wrap tm-per-row tc-active">
        <label class="tm-epo-field-label" for="tmcp_choice_4_0_561e9641a28f9d">
                <input class="tmcp-field tm-epo-field tmcp-radio tcenabled" name="tmcp_radio_4" data-price="" data-rules="[&quot;&quot;]" data-original-rules="[&quot;&quot;]" data-rulestype="[&quot;&quot;]" data-image="" data-imagec="" data-imagep="" data-imagel="" data-image-variations="[]" value="kostenlose Preisanfrage_0" id="tmcp_choice_4_0_561e9641a28f9d" type="radio" checked="checked">
        <span class="tc-label-wrap"><span class="tc-label tm-label">kostenlose Preisanfrage</span></span>    </label>
    <span class="tc-price-wrap">
    <span class="price tc-price hidden">
    <span class="amount">0,00€</span>
</span>
</span>
        </li>
        </li>

我不确定这是否是最好的方法。

我相信不幸的是,由于您需要在用户选择单选按钮时更改按钮,除非使用 ajax,否则您无法在 php 代码中执行此操作。 虽然你可以通过一些 jQuery 来控制它。 我相信如果将以下内容添加到页面中应该可以工作。 它侦听单选按钮的任何更改,如果确实更改,则检查是否已检查以及该值是否为指定单选按钮选项的值。 如果是这样,它会禁用添加到购物车按钮。

jQuery("input[type=radio][name='tmcp_radio_4']").change(function() { 
if (this.checked && value='kostenlose Preisanfrage_0' ) 
    jQuery('.single_add_to_cart').prop('disabled', true);
else
    jQuery('.single_add_to_cart').prop('disabled', false);
});

如果您使用的是 Chrome 浏览器,您可以尝试在您想尝试的页面上的控制台中添加它,以测试它是否有效。 当您更改单选按钮时,您应该会看到添加到购物车按钮的更改。 如果它有效,您可以继续将其添加到您的代码中。

In case you are not sure how to add it to your code, there are many ways to add jQuery code in WordPress here is an article about it How to Properly Add jQuery scripts to WordPress

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM