我正在使用一个插件来帮助“构建”一个定制的产品。用户必须通过后退和继续按钮完成不同的选项卡/步骤。在最后一步中,我想添加一个带有复选框“同意”的“同意条款”框。我已经完成了。但是我想在Woocommerce中隐藏添加到购物车按钮,直到用户选中同意条款的复选框。
这将有助于我确保他们审查退货政策,并避免与所有步骤中出现的“添加到购物车”按钮混淆,确保他们完成所有步骤。
以下是我从控制台中提取的复选框编码:
<ul data-rules="{"Agree_0":[""]}" data-original-rules="{"Agree_0":[""]}" data-rulestype="{"Agree_0":[""]}" data-tm-validation="{"required":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="[""]" data-original-rules="[""]" data-rulestype="[""]" 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;
}
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);
}
不会出现任何不兼容问题。