php - 当 Woocommerce 中的可变产品缺货时隐藏添加到购物车块
问题描述
在 Woocommerce 中,我正在使用Woocommerce 候补名单插件,当产品缺货时,该插件会在“添加到购物车”按钮附近显示“加入候补名单”按钮。在我的变量订阅中,我试图在产品缺货时隐藏“添加到购物车”按钮块,但没有成功。
如果有帮助,我们正在使用 Vantage 主题和Woocommerce 订阅。
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; }
但是当没有选择变体时,它也会隐藏添加到购物车,所以不方便。
推荐阅读
- uwp - 在 Microsoft 商店应用程序运行状况分析报告中将失败名称设为“未知”
- php - Text Past 不适用于创新的内容生成器
- ios - 将 UITextField heightAnchor 设置为 0 在 iOS 15 上不起作用
- javascript - 以选择特定列表项为条件进行文本输入
- r - 将data.frame转换为R中分隔字符串的函数的高性能实现
- r - Reading specific columns and rows from excel sheet in R
- javascript - 如何在 MAPBOX 中将过滤器的结果绘制成不同的颜色
- google-api-php-client - 如何处理“访问被拒绝。您无权阅读活动记录”。使用服务帐户访问 Admin SDK API 时
- firebase - firebase模拟器调用生产firestore而不是模拟firestore
- angularjs - 在 Angular js 中使用 ng-options