Поддержка Проблемы и решения Фильтр и шестизначные числа

  • Ребят, приветствую! Вопрос технического плана. На сайте Интернет-каталога мной был реализован фильтр по цене. Код вывода товаров по цене следующий:

    $query = new WP_Query(array(
        'cat' => 1,
        'posts_per_page' => 12,
        'post_status' => 'publish',
        'orderby' => 'meta_value',								 
        'meta_key' => 'price',								 
        'order' => 'ASC',
        'paged' => $paged
    ));

    Всё бы ничего товары верно выводятся только, если их цена насчитывает пять знаков, к примеру 15 000 или 70 000. Но когда я добавляю товары с шестизначной ценой, к примеру 100 000, вордпресс их ставит в самом начале списка товаров в каталоге. Очень нужна Ваша помощь в решении. Самостоятельно пробовал менять параметры запроса, вместо ‘orderby’ => ‘meta_value’ использовал ‘orderby’ => ‘meta_value_num’, но тогда товары просто пропадали из каталога. В чём может быть проблема? Почему wordpress не обрабатывает шестизначные числа? Где я допустил ошибку? Заранее спасибо за помощь.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Yuri

    (@yube)

    к примеру 100 000

    Почему wordpress не обрабатывает шестизначные числа?

    Потому что 100 000 не число.

    Юрий, а можно по подробней? Что значит не число и что мне можно предпринять? Проблема именно с шестизначными числами. Почему 70000 число, а 100000 — не число? Для ввода чисел в админке используется поле number ACF.

    • Ответ изменён 4 года, 5 месяцев назад пользователем gromovfjodor.
    • Ответ изменён 4 года, 5 месяцев назад пользователем gromovfjodor.
    Модератор Yuri

    (@yube)

    Почему 70000 число, а 100000 — не число?

    А это уже числа. Но Вы же в вопросе написали 70 000, а не 70000. Это две большие разницы.

    А вон Вы про что, я специально, чтобы показать число знаков. На странице примера всё указано в нужном формате.

    Вам нужно указывать meta_value_num и разбираться почему пропадают товары из каталога.

    посмотрите что там в запросе при сортировке.

    echo '<pre>';
    print_r($query->query);
    echo '</pre>';

    в базе цены без пробелов записаны?

    • Ответ изменён 4 года, 5 месяцев назад пользователем qwert555.

    в базе цены без пробелов записаны?

    Да, цены без пробелов. Так, вроде удалось вывести данные так, как нужно. Теперь шалит уже фильтр по полям.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Фильтр и шестизначные числа» закрыта для новых ответов.