在 WooCommerce 中联系表格 7 插件 https://wordpress.org/plugins/contact-form-7/,我使用以下代码在单个产品页面上向我的缺货简单产品添加了一个表单:
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="14880" title="Fiyat Sorunuz"]');
}
}
这种“缺货”形式非常适合简单的产品:
但不适用于“缺货”产品变体对于可变产品:
如何针对缺货的选定产品变型显示此表单?
任何帮助表示赞赏。
这需要对您的代码和一些 jQuery 代码进行一些更改,以根据所选产品变体的库存状态显示/隐藏可变产品上的联系表单(以及添加到购物车按钮)。
简单和可变产品的替换代码:
add_action( 'woocommerce_single_product_summary', 'add_product_outofstock_contact_form', 30, 2 );
function add_product_outofstock_contact_form() {
global $product;
$contact_form = do_shortcode('[contact-form-7 id="14880" title="Fiyat Sorunuz"]');
if( $product->is_type('variable') ) {
echo '<div class="outofstock-form" style="display:none">' . $contact_form . '</div>';
} elseif( ! $product->is_in_stock() ) {
echo $contact_form;
}
}
add_action('woocommerce_after_variations_form', 'outofstock_product_variation_js');
function outofstock_product_variation_js() {
?>
<script type="text/javascript">
jQuery(function($) {
var contactFormObject = $('.outofstock-form'),
addToCartButtonObj = $('.woocommerce-variation-add-to-cart');
$('form.variations_form').on('show_variation', function(event, data) { // No selected variation
if ( ! data.is_in_stock ) {
addToCartButtonObj.hide('fast');
contactFormObject.show('fast');
} else {
addToCartButtonObj.show('fast');
contactFormObject.hide('fast');
}
}).on('hide_variation', function() { // Not on selected variation
addToCartButtonObj.show('fast');
contactFormObject.hide('fast');
});
});
</script>
<?php
}
代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
有关的:将所选产品变型数据传递到联系表 7 查询表中 https://stackoverflow.com/questions/42165213/pass-the-chosen-product-variations-data-into-contact-form-7-enquiry-form/42174658#42174658
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)