Hide Add to Cart Button

时间:2017-10-13 作者:ryanb4614

我正在使用一个插件来帮助“构建”一个定制的产品。用户必须通过后退和继续按钮完成不同的选项卡/步骤。在最后一步中,我想添加一个带有复选框“同意”的“同意条款”框。我已经完成了。但是我想在Woocommerce中隐藏添加到购物车按钮,直到用户选中同意条款的复选框。

这将有助于我确保他们审查退货政策,并避免与所有步骤中出现的“添加到购物车”按钮混淆,确保他们完成所有步骤。

以下是我从控制台中提取的复选框编码:

<ul data-rules="{&quot;Agree_0&quot;:[&quot;&quot;]}" data-original-rules="{&quot;Agree_0&quot;:[&quot;&quot;]}" data-rulestype="{&quot;Agree_0&quot;:[&quot;&quot;]}" data-tm-validation="{&quot;required&quot;:true}" class="tmcp-ul-wrap tmcp-elements tm-extra-product-options-checkbox tm-element-ul-checkbox element_16 termsbox-ul">
    <li class="tmcp-field-wrap tmhexcolorimage-li-nowh">
        <label for="tmcp_choice_16_0_35">    <input class="tmcp-field termsbox tmhexcolor_16_0_35 tm-epo-field tmcp-checkbox" name="tmcp_checkbox_16_0" data-limit="" data-exactlimit="" data-minimumlimit="" data-image="" data-imagec="" data-imagep="" data-imagel="" data-image-variations="[]" data-price="" data-rules="[&quot;&quot;]" data-original-rules="[&quot;&quot;]" data-rulestype="[&quot;&quot;]" value="Agree_0" id="tmcp_choice_16_0_35" tabindex="35" type="checkbox">
    <span for="tmcp_choice_16_0_35"></span><span class="tc-label tm-label">Agree</span></label> <span class="price tc-price  hidden">
    <span class="amount">$0.00</span>
</span><i data-tm-tooltip-html="This is were the description will be to agree" class="tm-tooltip tc-tooltip tcfa tcfa-question-circle"></i>     </li></ul>
这是添加到购物车部分,包含数量

<div class="quantity buttons_added">
    <input value="-" class="minus button is-form" type="button">    <input class="input-text qty text" step="1" min="1" max="9999" name="quantity" value="1" title="Qty" size="4" pattern="[0-9]*" inputmode="numeric" type="number">
    <input value="+" class="plus button is-form" type="button">  </div>
<button type="submit" name="add-to-cart" value="267" class="single_add_to_cart_button button alt">Add to cart</button>
我自学了html和css,但javascript对我来说是陌生的

我在CSS中尝试了以下内容,但没有任何效果。尝试是在代码笔和作品(我知道需要显示,而不是隐藏时选中)。。。。

input[type=checkbox]:checked + .single_add_to_cart_button {
    display:none !important;

}

1 个回复
SO网友:melvin

只需在函数中添加以下代码。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 checkbox value in this function
 // let $checkbox_value be the value from checkbox
  return ($checkbox_value == false ? false : $is_purchasable);
}
不会出现任何不兼容问题。

结束

相关推荐

WordPress为主题的隐式style.css使用了什么$句柄?

假设我们有一个主题parent_theme. 此主题的style.css 将自动包含在我们交付给客户的样式中。我的问题是-Wordpress何时“包括”style.css, 什么$handle 它是否使用?通过$handle, 我的意思是在wp_enqueue_style(). 我开始在代码中寻找答案,但我想我应该先在这里问一下。我假设它是“样式表名称”,也就是包含主题的目录的名称。我试过了,但似乎不起作用。(还有,如果你好奇的话,我问你是因为我有一个child_theme 基于parent_theme,