在Woocommerce中,我使用的Woocommerce Waitlist插件在产品缺货时在“添加到购物车”按钮附近显示一个“加入候补名单”按钮。在我的变量订阅中,当产品缺货时,我试图隐藏“添加到购物车”按钮块,但没有成功。
如果有帮助,我们正在使用Vantage主题和Woocommerce subscriptions。
当Woocommerce中的可变产品缺货时,如何隐藏“添加到购物车”块?
最佳答案
更新-要检测“缺货”选择的变体并隐藏“添加到购物车”按钮块,方法是使用jQuery:
add_action( 'wp_footer', 'single_add_to_cart_event_text_replacement' );
function single_add_to_cart_event_text_replacement() {
global $product;
// Only single variable products
if( ! ( is_product() && $product->is_type('variable') ) )
return;
?>
<script type="text/javascript">
jQuery(function($){
var vs = 'table.variations select', vi = 'input.variation_id',
atc = 'woocommerce-variation-add-to-cart', atcd = atc+'-disabled',
atc = '.'+atc;
// 1. On start (With a mandatory light delay)
setTimeout(function(){
if ( 0 < $(vi).val() && $(atc).hasClass(atcd) ) {
$(atc).hide();
}
}, 250);
// 2. On variation change
$('.variations_form').on( 'blur', vs, function(){
if( 0 < $(vi).val() && $(atc).hasClass(atcd) ){
$(atc).hide();
} else {
$(atc).show();
}
});
})
</script>
<?php
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。
CSS方式(不方便)
当
<div>
容器获得一个标记类woocommerce-variation-add-to-cart-disabled
,该标记类将“添加到购物车”按钮显示为灰色时,您可以使用CSS规则隐藏按钮和数量字段的整个块:.woocommerce-variation-add-to-cart-disabled { display:none !important; }
但是,如果未选择任何变体,它也会隐藏添加到购物车中,因此不方便。