当前位置: 首页 > 知识库问答 >
问题:

在WooCommerce中为“缺货”产品变体添加联系表单

刁俊人
2023-03-14
add_action('woocommerce_single_product_summary', 'add_contact_form', 30,2);

function add_contact_form() {
    global $product;
        if(!$product->is_in_stock( )) {
           echo do_shortcode('[contact-form-7 id="6513" title="Out of Stock Form"]');
        }
    }
<div class="woocommerce-variation-availability">{{{ data.variation.availability_html }}}</div>
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2);

function wcs_custom_get_availability( $availability, $_product ) {

    if ( ! $_product->is_in_stock() ) {
        $availability['availability'] = __('<h4 style="color:#F00;">Coming Soon</h4>', 'woocommerce');
    }

    return $availability;
    }

但如果我尝试添加表单短代码或其他HTML(如iFrame),它就会被删除,并且不会呈现?!

共有1个答案

卞浩漫
2023-03-14

以下代码将向选定的缺货产品变体添加联系人表单:

add_filter( 'woocommerce_available_variation', 'form_to_out_of_stock_product_variations', 10, 3 );
function form_to_out_of_stock_product_variations( $data, $product, $variation ) {
    if( ! $data['is_in_stock'] )
        $data['availability_html'] .= do_shortcode('[contact-form-7 id="6513" title="Out of Stock Form"]');

    return $data;
}

代码放在您的活动子主题(或活动主题)的function.php文件中。经过测试并起作用。

因此您需要按照以下方式调整现有代码:

add_action('woocommerce_single_product_summary', 'add_contact_form', 30,2);
function add_contact_form() {
    global $product;

    if( ! $product->is_in_stock( ) && ! $product->is_type('variable') )
       echo do_shortcode('[contact-form-7 id="6513" title="Out of Stock Form"]');
}
 类似资料:
  • [编辑:它实际上是在functions.php中添加代码并省略代码WC文件中的更改时工作的。重要提示:它只在ONE属性存在时起作用。然而,当有2个属性(大小 由于2.0 WooCommerce要么隐藏缺货的产品变体(一个明显的问题,因为客户没有办法知道它们的存在),要么将它们显示为库存变体(也是一个问题,因为客户会系统地失望地发现变体是缺货的-点击购买后的股票)。 该线程包括一个灰色解决方案,以消

  • 在Woocommerce中,我正在使用Woocommerce Waitlist插件,它显示了一个“加入Waitlist”按钮,当产品缺货时,就在“添加到购物车”按钮附近。在我的可变订阅中,我尝试在产品缺货时隐藏“添加到购物车”按钮块,但没有成功。 我们正在使用Vantage主题和Woocommerce订阅,如果它能帮助的话。 在Woocommerce中,当可变产品缺货时,如何隐藏“添加到购物车”块

  • 在Woocommerce中,我试图使一个定制的div容器在可变产品的变体缺货时可见,但在缺货时可用。

  • 所以我的木业商店发生了一件奇怪的事情。 现在,当一个单一的产品(没有变种)缺货,“数量”和“添加到购物车”按钮消失-这是我想要的。上面只显示“缺货”的标签。

  • 我想在Woocommerce产品页面上的变种下拉列表中显示每个产品变种的库存状态(例如,库存中/脱销)。我已经将相关函数复制到主题的functions.php文件中,并且可以编辑内容,但是不确定如何为每个变体提取所需的库存状态。 我可以取出整个产品的库存水平,但现在是每个变体的库存水平。 null