WooCommerce: как отсортировать товары по новизне в Elementor

Диагностика проблемы: почему сортировка по новизне не работает в Elementor

По умолчанию стандартный виджет WooCommerce Products в Elementor позволяет выбрать сортировку товаров, но часто пользователи сталкиваются с тем, что сортировка по дате добавления (новизне) не работает или не отображает свежие товары первыми. Это связано с тем, что WooCommerce использует сложный механизм сортировки, где дата публикации поста (товара) и дата изменения могут конфликтовать, а Elementor не всегда правильно передает параметры запроса.

Проверить проблему можно так:

  • Откройте страницу с виджетом WooCommerce Products, установите сортировку по «новизне»;
  • Обновите страницу на фронтенде и посмотрите порядок товаров;
  • Если самые свежие товары не отображаются первыми, значит сортировка не сработала.

Как реализовать корректную сортировку товаров по дате добавления в Elementor

Способ 1: использовать кастомный код с фильтром pre_get_posts

Для того чтобы точно отсортировать товары по дате публикации в WooCommerce через Elementor, добавьте следующий код в файл functions.php вашей темы или в плагин для кастомных функций:

add_action('pre_get_posts', function($query) {
    if (!is_admin() && $query->is_main_query() && 
        (isset($query->query_vars['post_type']) && $query->query_vars['post_type'] === 'product') &&
        isset($_GET['sort']) && $_GET['sort'] === 'newest') {
        $query->set('orderby', 'date');
        $query->set('order', 'DESC');
    }
});

Далее в Elementor в виджете продуктов добавьте класс или атрибут, который передает параметр sort=newest в URL, либо используйте ссылку с таким параметром для отображения сортировки по дате.

Способ 2: использовать альтернативный виджет с поддержкой сортировки

Если вы не хотите писать код, можно использовать плагин Advanced Woo Search или WooCommerce Product Table, которые корректно обрабатывают сортировку по дате через шорткоды и виджеты, которые можно вставить в Elementor с помощью HTML или Shortcode.

Проверка результата после внедрения

  • Обновите страницу с каталогом товаров;
  • Если используете первый способ, добавьте в URL параметр ?sort=newest и проверьте, что первые товары — самые свежие;
  • Если используете второй способ — убедитесь, что выбран параметр сортировки «по дате» и товары выводятся в нужном порядке.

Частые ошибки и как их исправить

  • Кэширование: Если после изменений сортировка не обновляется, очистите кэш сайта и браузера. Используйте Clearfy Pro для очистки кэша и оптимизации сайта.
  • Неправильный тип запроса: Код не срабатывает, если в запросе не установлен post_type=product. Проверьте, что виджет в Elementor действительно выводит товары WooCommerce.
  • Конфликты с плагинами: Некоторые плагины могут менять параметры запросов WooCommerce. Временно отключите сторонние плагины для диагностики.
  • Отсутствие новых товаров с правильной датой: Убедитесь, что у товаров корректно установлена дата публикации, а не только дата изменения.

Практические советы по производительности и безопасности

  • Используйте pre_get_posts только с конкретными проверками, чтобы не влиять на все запросы.
  • Для больших каталогов товаров рекомендуется включить индексацию дат и использовать кеширование запросов WooCommerce.
  • Избегайте прямых изменений в ядре WooCommerce, все кастомизации делайте через хуки и фильтры.
  • Для безопасности проверьте, что ваш код не принимает пользовательские данные без валидации.
  • Для удобства пользователей добавьте на страницу каталога фильтр сортировки с выбором «новизна», который будет добавлять параметр sort=newest в URL.

Сравнение способов сортировки товаров по новизне

МетодПлюсыМинусыПример использования
Код с pre_get_postsГибкий, без сторонних плагинов, контролируемыйТребует навыков кодирования, возможно конфликтует с другими плагинамиСм. код выше
Плагины (Advanced Woo Search и др.)Простая настройка, поддержка сортировок, удобный UIДополнительная нагрузка на сайт, зависимость от плагинаШорткоды или виджеты плагина в Elementor
Как добавить динамические картинки в Elementor для WordPress
20.03.2026
Как создать собственные атрибуты для виджетов Elementor в WordPress
23.01.2026
Как добавить автоматическое сохранение просмотра в Elementor для WordPress
18.02.2026
WooCommerce: как использовать хуки для дополнительной функциональности оформления заказа
29.05.2026
Оптимизация WordPress для быстрого загрузки сайтов
18.11.2025