使变体库存数量出现在 Woocommerce 的下拉选择中
Make variation stock quantity appear on dropdown selection in Woocommerce
目前这是它在我们网站上使用当前代码显示的内容:
当前代码甚至在点击 variation/sizes 中的任何一个之前都会显示所有股票。我们的客户想要的是只在下拉列表中显示特定变体的库存数量 clicked/selected。
有谁知道如何做到这一点?
当前代码:
add_action( 'woocommerce_before_add_to_cart_button', 'display_stock_variations_loop' );
function display_stock_variations_loop(){
global $product;
if ( $product->get_type() == 'variable' ) {
foreach ( $product->get_available_variations() as $key ) {
$attr_string = array();
foreach ( $key['attributes'] as $attr_name => $attr_value ) {
$attr_string[] = $attr_value;
}
if ( $key['max_qty'] > 0 ) {
echo '' . implode( ', ', $attr_string ) . ': ' . $key['max_qty'] . ' in stock<br>';
} else {
echo '' . implode(', ', $attr_string ) . ': out of stock<br>';
}
}
echo '<br>';
}
}
显示的选定变体库存数量和状态已由 woocommerce 管理。您只需添加您的 "Size" 属性术语名称值,使用以下 (无需任何 javascript):
add_filter( 'woocommerce_get_availability_text', 'filter_variations_availability_text', 10, 2 );
function filter_variations_availability_text( $availability_text, $product ) {
if( $product->get_type() == 'variation' && $product->get_attribute('size') ) {
$availability_text = $product->get_attribute('size') . ': ' . $availability_text;
}
return $availability_text;
}
代码进入您的活动子主题(活动主题)的 function.php 文件。已测试并有效。
目前这是它在我们网站上使用当前代码显示的内容:
当前代码甚至在点击 variation/sizes 中的任何一个之前都会显示所有股票。我们的客户想要的是只在下拉列表中显示特定变体的库存数量 clicked/selected。 有谁知道如何做到这一点?
当前代码:
add_action( 'woocommerce_before_add_to_cart_button', 'display_stock_variations_loop' );
function display_stock_variations_loop(){
global $product;
if ( $product->get_type() == 'variable' ) {
foreach ( $product->get_available_variations() as $key ) {
$attr_string = array();
foreach ( $key['attributes'] as $attr_name => $attr_value ) {
$attr_string[] = $attr_value;
}
if ( $key['max_qty'] > 0 ) {
echo '' . implode( ', ', $attr_string ) . ': ' . $key['max_qty'] . ' in stock<br>';
} else {
echo '' . implode(', ', $attr_string ) . ': out of stock<br>';
}
}
echo '<br>';
}
}
显示的选定变体库存数量和状态已由 woocommerce 管理。您只需添加您的 "Size" 属性术语名称值,使用以下 (无需任何 javascript):
add_filter( 'woocommerce_get_availability_text', 'filter_variations_availability_text', 10, 2 );
function filter_variations_availability_text( $availability_text, $product ) {
if( $product->get_type() == 'variation' && $product->get_attribute('size') ) {
$availability_text = $product->get_attribute('size') . ': ' . $availability_text;
}
return $availability_text;
}
代码进入您的活动子主题(活动主题)的 function.php 文件。已测试并有效。