Как запросить только товары со статусом "в наличии" в WooCommerce?
2 апр. 2017 г., 04:51:36
Просмотры: 17.1K
Голосов: 6
Я пытаюсь создать запрос, который возвращает только товары в наличии в заданной категории товаров.
Вот мой рабочий код, где я сначала получаю все товары категории, а затем перебираю их, пока не найду тот, что есть в наличии.
function CheckCategoryStock( $catToCheck ) {
// Аргументы для выборки товаров
$args = array(
'posts_per_page' => -1, // Получить все товары
'post_type' => 'product', // Тип записи - товар
'hide_empty' => 1, // Скрыть пустые категории
'product_cat' => $catToCheck, // Идентификатор категории
);
// Создаем новый запрос
$query = new WP_Query( $args );
// Если есть товары
if ( $query->have_posts() ) {
while ( $query->have_posts() ) : $query->the_post();
global $product;
// Проверяем наличие товара
if ( $product->is_in_stock() ) {
$catCounter = 0;
return 1; // Возвращаем 1 если найден товар в наличии
}
endwhile;
}
return 0; // Возвращаем 0 если товаров в наличии нет
}
Такой способ работает, но иногда код выполняется медленно, так как ему приходится перебирать множество товаров, прежде чем найти тот, что есть в наличии.

user116737
69
Комментарии
Все ответы на вопрос
1
Похожие вопросы
1
ответов
3
ответов