WooCommerce - скрыть категории товаров, где товары не имеют определенного значения настраиваемого поля - PullRequest
0 голосов
/ 03 июля 2018

Я настроил запрос продукта WooCommerce, чтобы включить продукты, которые имеют определенное значение настраиваемого поля, например external_id = 1234 или production_year = 2017. Это работает, как предполагалось, и WooCommerce отображает только те продукты с правильным значением настраиваемого поля.

Далее я хотел скрыть пустые категории товаров в виджете категорий товаров, поскольку я не хочу отображать пустые категории для пользователей. Запрос продукта по-прежнему использует значения настраиваемых полей для фильтрации любых нежелательных продуктов.

Казалось, что решение было добавить

$list_args['hide_empty'] = 1;

к хуку фильтра woocommerce_product_categories_widget_args. Но, к сожалению, пустые категории продуктов по-прежнему отображаются, даже если они пусты. Кажется, что виджет не использует тот же запрос товара, чтобы проверить, есть ли в категориях какие-либо товары. Таким образом, виджет по-прежнему показывает категории.

Так как же я могу скрыть категории товаров, если запрос товара не дал результатов?

UPDATE:

Индивидуальный код запроса:

public function vehicle_model_query($q)
{
    $id = self::get_current_vehicle_model_id();

    if (isset($id) && !empty($id)) {

        $meta_query = $q->get('meta_query');

        $meta_query[] = array(
            array(
                'key' => 'wcwb_product_vehicle_models',
                'value' => $id
            )
        );

        $q->set('meta_query', $meta_query);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...