检查 WooCommerce 产品(简单或变体)是否有库存并将标签显示为简码
Check if WooCommerce product (simple or variations) are in stock and display label as shortcode
我想要一个可以添加到 WooCommerce 产品页面的简码。短代码将简单地检查产品库存并说“有库存”(如果有的话)。如果产品(或任何变体)没有库存,则显示“缺货”。
此简码应该适用于简单产品和可变产品。对于 Simple 产品,它只会检查库存数量。对于可变产品,它将检查所有变体的库存数量(因为可变产品库存是在库存级别管理的)。如果任何变体都有库存,那么它仍将 return 显示为“有货”。
如果特定产品的所有变体都是 0,它只会说“缺货”。
我计划在我正在构建的产品页面模板中使用此简码。
现在我创建了这个:
/* Create stock checker of overall product */
add_shortcode( 'fs-product-stock-status', 'fs_product_stock_status_shortcode' );
function fs_product_stock_status_shortcode( $atts ) {
// begin output buffering
ob_start();
$stockstatus = get_post_meta( get_the_ID(), '_stock_status', true );
if ($stockstatus == 'outofstock') {
echo '<p class="stock out-of-stock">Out of stock</p>';
}
elseif ($stockstatus == 'instock') {
echo '<p class="stock in-stock">In stock</p>';
}
// end output buffering, grab the buffer contents, and empty the buffer
return ob_get_clean();
}
但我对其他可能更好的解决方案持开放态度。不过这似乎有效。
我想要一个可以添加到 WooCommerce 产品页面的简码。短代码将简单地检查产品库存并说“有库存”(如果有的话)。如果产品(或任何变体)没有库存,则显示“缺货”。
此简码应该适用于简单产品和可变产品。对于 Simple 产品,它只会检查库存数量。对于可变产品,它将检查所有变体的库存数量(因为可变产品库存是在库存级别管理的)。如果任何变体都有库存,那么它仍将 return 显示为“有货”。
如果特定产品的所有变体都是 0,它只会说“缺货”。
我计划在我正在构建的产品页面模板中使用此简码。
现在我创建了这个:
/* Create stock checker of overall product */
add_shortcode( 'fs-product-stock-status', 'fs_product_stock_status_shortcode' );
function fs_product_stock_status_shortcode( $atts ) {
// begin output buffering
ob_start();
$stockstatus = get_post_meta( get_the_ID(), '_stock_status', true );
if ($stockstatus == 'outofstock') {
echo '<p class="stock out-of-stock">Out of stock</p>';
}
elseif ($stockstatus == 'instock') {
echo '<p class="stock in-stock">In stock</p>';
}
// end output buffering, grab the buffer contents, and empty the buffer
return ob_get_clean();
}
但我对其他可能更好的解决方案持开放态度。不过这似乎有效。