我想在下拉菜单中显示各种产品的库存状态,包括“待补”,因为我网站上的大多数产品都可以待补而不是“无货”。
我尝试了How to add variation stock status to Woocommerce product variation dropdown的答案,但是每个变量都被列为“有货”,因为该产品设置为允许缺货。
我想像下面那样检查实际的库存水平,但无法通过上面的链接使其正常工作。
$var_stock_count = $variation->get_stock_quantity();
// if there are 0 or less, display 'on backorder'
if( $var_stock_count <= 0 ) {
return ' - (On Backorder)';
}
else {
return ' - (In Stock)';
}
我需要帮助将这两段代码结合在一起。谢谢!
答案 0 :(得分:1)
此更新的功能将处理未交货订单上的产品(当库存数量小于1时):
// Function that will check the stock status and display the corresponding additional text
function get_stock_status_text( $product, $name, $term_slug ){
foreach ( $product->get_available_variations() as $variation ){
if($variation['attributes'][$name] == $term_slug ) {
$is_in_stock = $variation['is_in_stock'];
$backordered = get_post_meta( $variation['variation_id'], '_backorders', true );
$stock_qty = get_post_meta( $variation['variation_id'], '_stock', true );
break;
}
}
$stock_status_text = $is_in_stock == 1 ? ' - (In Stock)' : ' - (Out of Stock)';
return $backordered !== 'no' && $stock_qty <= 0 ? ' - (On Backorder)' : $stock_status_text;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
替换this answer thread上的第一个功能:
您将得到类似的东西: