WooCommerce:即使在选择变体之前,也始终显示"添加到购物车"按钮

dra*_*035 4 woocommerce

在可变产品的单个产品页面上,WooCommerce在选择一个变体之前不会生成"添加到购物车"按钮.如果需要两个变体但只选择了一个,WC仍会生成按钮但单击它会触发一条错误消息,要求选择所有变体.

除了我不理解这个逻辑的事实(为什么使用第二个变体的后提交错误消息和另一个解决方案 - 第一个没有提交按钮 - ?),有没有办法显示添加到购物车按钮始终,如果没有选择所有变化,提交后提交错误消息?

d79*_*d79 9

这应该做的工作:

add_action( 'woocommerce_before_add_to_cart_button', function(){
    // start output buffering
    ob_start();
} );

add_action( 'woocommerce_before_single_variation', function(){
    // end output buffering
    ob_end_clean();
    // output custom div
    echo '<div class="single_variation_wrap_custom">';
} );
Run Code Online (Sandbox Code Playgroud)

实际上,我已经截取了(在模板文件中single-product/add-to-cart/variable.php)<div class="single_variation_wrap" style="display:none;">由用户的选择通过javascript影响的HTML标记,并且替换<div class="single_variation_wrap_custom">为不是.