我想在我们的产品页面上显示库存状态,例如“有货”,我理想情况下希望通过自定义短代码显示库存状态。
有谁知道这是否可行或其他解决方案?
更新:您可以使用这个简单的功能通过自定义简码显示库存状态:
add_shortcode( 'stock_status', 'display_product_stock_status' );
function display_product_stock_status( $atts) {
$atts = shortcode_atts(
array('id' => get_the_ID() ),
$atts, 'stock_status'
);
$product = wc_get_product( $atts['id'] );
$stock_status = $product->get_stock_status();
if ( 'instock' == $stock_status) {
return '<p class="stock in-stock">In stock</p>';
} else {
return '<p class="stock out-of-stock">Out of stock</p>';
}
}
代码位于活动子主题(或活动主题)的 function.php 文件中。已测试并有效。
用法:
[stock_status]
(或定义产品 ID [stock_status id='47']
,其中 47
是产品 ID…)
在 get_stock_status 上遇到布尔错误
我执行了以下操作,似乎有效,但不确定代码是否正确。
add_shortcode( 'stock_status', 'display_product_stock_status' ); 函数display_product_stock_status($atts){
$atts = shortcode_atts(
array('id' => get_the_ID() ),
$atts, 'stock_status'
);
$product = wc_get_product( $atts['id'] );
if(is_bool($product)){
return '<p></p>';
}
else{
$stock_status = $product->get_stock_status();
if('instock' == $stock_status){
return '<p class="stock in-stock">In Stock</p>';
}
else{
return '<p class="stock out-of-stock">Out of Stock</p>';
}
} }