我们有一个网店,我想在每个缺货的产品页面上添加一个按钮。我一直在使用这个代码,但我缺少了一个部分,因为现在每个产品上都有这个按钮(还有可用的产品(。有人能帮我回答这个问题吗?
谢谢!
// Adds a enquiry form on your Woocommerce Single product page
add_action( 'woocommerce_single_product_summary', 'enquiry_form', 30 );
function enquiry_form() { echo '<button type="submit" id="trigger_cf" class="single_add_to_cart_button button alt">Vraag de prijs op</button>'; echo '<div id="product_inq" style="display:none">'; echo do_shortcode('[wpforms id="1372"]'); echo '</div>'; }
add_action( 'woocommerce_single_product_summary', 'enquiry_form_1', 40);
function enquiry_form_1() {
?>
<script type="text/javascript">
jQuery('#trigger_cf').on('click', function(){
if ( jQuery(this).text() == 'Vraag de prijs op' ) {
jQuery('#product_inq').css("display","block");
jQuery("#trigger_cf").html('Sluit');
} else {
jQuery('#product_inq').hide();
jQuery("#trigger_cf").html('Vraag de prijs op');
}
});
</script>
<?php
}
因此,通过添加global $product;
并使用此代码get_post_meta( $product->ID, '_stock_status', true );
来获取产品的库存状态,然后可以抛出一个if语句,检查产品是否有库存。如果有存货,你可以运行你的代码来放置一个按钮。
试试这个代码,看看它是否适合你:
// Adds a enquiry form on your Woocommerce Single product page
add_action( 'woocommerce_single_product_summary', 'enquiry_form', 30 );
function enquiry_form() {
global $product;
$stockStatus = get_post_meta( $product->ID, '_stock_status', true );
if ($stockStatus == "outofstock"){
echo '<button type="submit" id="trigger_cf" class="single_add_to_cart_button button alt">Vraag de prijs op</button>';
echo '<div id="product_inq" style="display:none">'; echo do_shortcode('[wpforms id="1372"]');
echo '</div>'; }
}
add_action( 'woocommerce_single_product_summary', 'enquiry_form_1', 40);
function enquiry_form_1() {
?>
<script type="text/javascript">
jQuery('#trigger_cf').on('click', function(){
if ( jQuery(this).text() == 'Vraag de prijs op' ) {
jQuery('#product_inq').css("display","block");
jQuery("#trigger_cf").html('Sluit');
} else {
jQuery('#product_inq').hide();
jQuery("#trigger_cf").html('Vraag de prijs op');
}
});
</script>
<?php
}