该网站上的某些产品无法直接购买,因此我用一个自定义按钮替换了“添加到购物车”,该按钮链接到包含查询表的产品页面上的自定义WooCommerce标签。
这是通过使用woocommerce_empty_price_html
过滤器完成的。当产品没有价格设置时->显示按钮。
但是,我的解决方案仅适用于简单产品,我也需要它也适用于变量产品。
这是我的适用于简单产品的代码:
add_filter('woocommerce_empty_price_html', 'custom_call_for_price');
function custom_call_for_price() {
$ccfp .= '<a class="switchtab" href="#tab-quick_quote"><button type="submit" id="trigger_cf" class="quote-button single_add_to_cart_button button alt" >Quick Quote</button></a>';
?><script>
jQuery(document).ready(function($){
$("a.switchtab").click(function(e){
e.preventDefault();
$("div.woocommerce-tabs>ul.tabs>li>a[href='" + $(this).attr("href") + "']").click();
$('html, body').animate({
scrollTop: $("div.woocommerce-tabs").offset().top
}, 500);
});
});
</script><?php
return $ccfp;
}
当我将产品切换为可变产品时,默认的WooCommerce行为是隐藏没有价格的变化。所以我试图用
add_filter('woocommerce_variation_is_visible', 'product_variation_always_shown', 10, 2);
function product_variation_always_shown($is_visible, $id){
return true;
}
这导致显示的变量产品按钮没有价格变动,但是问题是我看到“添加到购物车”按钮,而我的“快速报价”按钮现在的行为类似于“添加到购物车(而不是滚动到锚点)并显示一条消息
“对不起,该产品不可用。请选择其他 组合。”
要以图形方式显示它,这就是我目前在可变产品上所拥有的。
我需要没有价格的可变产品作为我的没有价格的简单产品的示例。隐藏“添加到购物车”表单并显示一个滚动到选项卡的按钮,但仍允许用户选择一个选项,因为我正在将选项值传递给查询表单。
这可以用于可变产品吗?