Я использую замечательный код ответа WooCommerce: отображение количества запасов для данного идентификатора продукта на обычных страницах или сообщениях, который работает для отображения количества продукта для продукта WooCommerce на любой странице или в публикации с помощью шорткода.
Я хотел бы отображать только точное количество до 5 товаров на складе и иметь «Более 5» для любого количества от 6 или более.
Можно ли это сделать, изменив этот код?






Вы можете попробовать добавить в эту строку
if ( $stock_quantity > 0 ) return $stock_quantity;
пытаться:
$overQty = "More than 5";
if ( $stock_quantity > 5 ){ return $overQty } else { return $stock_quantity };
он должен работать
Простое возвращение переменной String не покажет конечному пользователю никаких выходных данных на веб-странице.
вы можете попробовать повторить это, а затем вместо возврата
@CorySpinney Только для информации: в функции шорткода, данные никогда не отображаются эхом, но всегда возвращаются, как и в хуках фильтров.
Следующее должно помочь:
if ( !function_exists('show_specific_product_quantity') ) {
function show_specific_product_quantity( $atts ) {
// Shortcode Attributes
$atts = shortcode_atts(
array(
'id' => '', // Product ID argument
),
$atts,
'product_qty'
);
if ( empty($atts['id'])) return;
$stock_quantity = 0;
$product_obj = wc_get_product( intval( $atts['id'] ) );
$stock_quantity = $product_obj->get_stock_quantity();
if ( $stock_quantity > 0 && $stock_quantity <= 5 )
return $stock_quantity;
elseif ( $stock_quantity > 5 )
return __("More than 5", "woocommerce");
}
add_shortcode( 'product_qty', 'show_specific_product_quantity' );
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Он должен работать.
Дополнение - Отображение номера нулевого запаса также:
Просто измените следующую строку кода:
if ( $stock_quantity > 0 && $stock_quantity <= 5 )
к:
if ( $stock_quantity >= 0 && $stock_quantity <= 5 )
Теперь будет отображаться и нулевой запас ...
Оригинальный ответ: WooCommerce: отображение количества запасов для данного идентификатора продукта на обычных страницах или сообщениях
Я не отрицал ваш ответ, но он не работает. У меня пустой экран, должно быть, что-то не так с кодом.