WooCommerce get_availability() возвращает массив
Я пытаюсь отобразить доступность продукта внутри функции, используя woocommerce 3.0.8.
Мой код:
global $product;
echo $product->get_availability();
На нем печатается слово Array и больше ничего. это не должно работать?
Я не могу понять, что не так
3 ответа
WC_Product get_availability()
Метод возвращает массив из 2 ключей / значений:
- Текст доступности в зависимости от состояния склада (с ключом
'availability'
).
Вы можете использовать здесьWC_Product get_availability_text()
метод (вернуть строку) - Имя класса доступности в зависимости от состояния запаса (с ключом
'class'
)
Вы можете использовать здесьWC_Product get_availability_class( )
метод (вернуть строку)
Чтобы увидеть это попробуйте:
global $product;
print_r($product->get_availability());
Есть небольшая ошибка в документации WooCommerce, так как это выводит массив, а не строку.
Обновить:
Используя напрямую WC_Product get_availability_text()
метод так:
global $product;
return $product->get_availability_text();
Заменим (более компактно):
global $product;
$availability = $product->get_availability();
return $availability[availability];
Очень похоже на другие ответы, но я использую следующий код, чтобы получить класс доступности, потому что get_availability_class()
не работает для меня во всех случаях:
$avail = $product->get_availability();
$class = $avail['class']
Спасибо за вашу помощь, я действительно ценю это. я исправил это используя
global $product;
$availability = $product->get_availability();
return $availability[availability];
и это работает как шарм. еще раз спасибо