Задать вопрос
maxim558
@maxim558

Как в Woocommerce отсортировать товары в категории по вложенным пользовательским полям?

Для товаров есть пользовательское поле Позиция в Категории - "cat_position", созданное в ACF. У него есть два вложенных поля "Выбор категории" (cat_position_vybor) и "Номер позиции" (cat_position_number). В товаре это выглядит так:
LQA0EW1.png

Т.е. один товар может принадлежать нескольким категориям, которые указываются в "Выбор категории". И для каждой категории указана своя позиция в "Номер позиции".

Получается, что для каждого товара поле cat_position это массив, который выглядит примерно так:

$cat_position = (
    [0] => Array
        (
            [cat_position_vybor] => 159
            [cat_position_number] => 37
        ),

    [1] => Array
        (
            [cat_position_vybor] => 160
            [cat_position_number] => 37
        ),

    [2] => Array
        (
            [cat_position_vybor] => 161
            [cat_position_number] => 37
        ),

    [3] => Array
        (
            [cat_position_vybor] => 162
            [cat_position_number] => 37
        ),
    ...)


Здесь "cat_position_vybor" это id категорий товара.

В самой категории через шорткод уже вывели соответствующие для категории позиции. Теперь нужно как-то отсортировать товары по вложенному пользовательскому полю "*cat_position_number*".

Так понимаю, что это нужно делать через хук "pre_get_posts" и параметр "meta_query". Но не пойму как указать, чтобы сортировалось именно по тем "cat_position_number", которые соответствуют нужному "cat_position_vybor", т.е. категории в которой мы сейчас находимся.

[1]: https://i.stack.imgur.com/GQQNd.png
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы