Гибкая сортировка записей в WordPress предоставляет возможность более детально управлять тем, как информация представляется на сайте. Стандартные инструменты не всегда способны справиться со всеми задачами, что часто требует использования произвольных полей и сторонних плагинов. В данной статье мы рассмотрим, как можно настроить сортировку постов по пользовательскому полю и установить произвольный порядок с помощью плагина Post Types Order.
Одним из самых простых способов изменить порядок сортировки записей является использование условного тега pre_get_posts, который позволяет модифицировать параметры запроса перед его выполнением. Например, с помощью этого тега можно указать, что необходимо сортировать записи по конкретному метаполю, например, дате создания или рейтингу. Это особенно полезно, если вы хотите, чтобы наиболее актуальные или популярные записи выводились первыми.
Существует несколько популярных плагинов, которые могут помочь в сортировке записей по произвольным полям. Один из них — Advanced Custom Fields, который позволяет создавать и управлять пользовательскими полями. Вы можете добавить дополнительные поля к записям, а затем отсортировать их по значениям этих полей. Также можно использовать плагин Query Monitor для диагностики и оптимизации запросов к базе данных, что поможет избежать замедления сайта при использовании расширенной сортировки.
Для пользователей, которые хотят глубже настроить сортировку без написания кода, плагин Post Types Order предлагает простой и интуитивно понятный интерфейс, который позволяет перетаскивать записи в нужном порядке. После установки плагина вам потребуется активировать его для нужного типа записи и затем просто перейти к разделу, где вы сможете менять порядок записей с помощью метода «перетаскивания».
Таким образом, настройка сортировки записей в WordPress может быть выполнена различными способами, в зависимости от ваших потребностей и уровня знаний. Используя пользовательские поля и соответствующие плагины, вы можете значительно улучшить презентацию информации на своем сайте.
Сортировка в произвольном порядке с помощью плагина Post Types Order
Плагин Post Types Order позволяет установить индивидуальный порядок отображения записей в WordPress без необходимости написания кода или изменения шаблонов. Это особенно удобно в тех случаях, когда необходимо вручную управлять последовательностью постов — например, для портфолио, каталогов или целевых страниц. После настройки вы сможете легко изменять порядок записей перетаскиванием в админ-панели.

Сначала загрузите и активируйте плагин, а затем проведите первоначальную настройку.

По умолчанию настройки позволяют менять порядок отображения для всех стандартных типов записей.
Показать / Спрятать интерфейс — дает возможность выбрать, для каких типов записей WordPress будет доступна сортировка.
Минимальный уровень для использования этого плагина — уровень доступа пользователя, который сможет изменять порядок записей.
Автоматическое применение сортировки — после изменения порядка он автоматически будет действовать на всех выводах записей на сайте.
Admin Auto Apply Sort — активирует соответствующий порядок отображения постов в админках.
Используйте параметр запроса ASC / DESC — применяет указанный порядок сортировки, будь то по возрастанию или убыванию.
Перетаскивание архивов — дает возможность менять порядок записей на архивных страницах в админской панели.
Следующая / предыдущая страница — применяет указанную сортировку при использовании пагинации.
После того как сохраните настройки, переходите к сортировке. Зайдите в раздел админ-панели: Записи > Изменить порядок.
Вас встретит список ваших записей. С помощью мыши изменяйте их местами, создавая необходимую последовательность.
Не забудьте сохранить новый порядок, нажав кнопку «Обновить», и проверьте изменения на сайте.
Также стоит обратить внимание на то, что плагин совместим с кастомными типами записей и таксономиями. Это означает, что вы можете использовать удобство сортировки не только для стандартных блоговых записей, но и для пользовательских постов, таких как отзывы, продукты и любые другие типы контента, созданные с помощью кастомных типов записей.
Стоит отметить, что надстройка Post Types Order также интегрируется с другими популярными плагинами, что может расширить функциональность вашей административной панели. Например, он может работать в связке с плагинами для создания слайдеров или галерей, что поможет вам быстро и просто изменить порядок отображения содержимого на фронтенде, без необходимости редактирования кода или использование краткосрочных решений.
Если вам нужно изменить порядок сортировки не только статей, но и страниц или других пользовательских типов записях, можно настроить соответствующие параметры в плагине, чтобы они также были включены в процесс сортировки. Это создает дополнительное удобство при работе с большим количеством записей.
Помимо этого, рекомендуется периодически обновлять плагин до последней версии, чтобы воспользоваться всеми его новыми функциями и улучшениями производительности. Это поможет избежать проблем с совместимостью и обеспечить стабильную работу вашего сайта.
Сортировка по произвольному полю (post_meta)
Сортировка записей в WordPress по произвольным полям (post meta) позволяет управлять выводом контента, основываясь на дополнительных параметрах, таких как цена, рейтинг, дата события или приоритет.
Предположим, на вашем сайте имеется тип записи под названием «Билеты» (ticket), у которого присутствует произвольное поле price. Для того чтобы отсортировать вывод билетов по цене, мы используем класс WP_Query.
$args = array( 'post_type' => 'ticket', 'posts_per_page' => -1, 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => 'ASC' ); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); ?> Цена:
Сортировка по цене зависит от двух параметров запроса: meta_key со значением price и orderby=meta_value_num.
Для правильной сортировки по числовому значению в параметре orderby обязательно используйте meta_value_num, иначе порядок может быть неправильно определён (например, строковое сравнение приведёт к тому, что 100 будет меньше 20).
Изменение основного запроса
Если необходимо глобально изменить порядок записей на сайте (например, на главной странице или в архиве), воспользуйтесь хуком pre_get_posts.
function sort_ticket_by_meta($query) { if (!is_admin() && $query->is_main_query() && is_home() && $query->get('post_type') === 'ticket') { $query->set('meta_key', 'price'); $query->set('orderby', 'meta_value_num'); $query->set('order', 'ASC'); } } add_action('pre_get_posts', 'sort_ticket_by_meta');
Что выполняет этот код:
- !is_admin() — сортировка не применяется в административной панели;
- is_main_query() — изменяется только основной запрос;
- is_home() — применяется только на главной странице блога (можно заменить на is_archive(), is_category() и т.д.);
- $query->get(‘post_type’) === ‘ticket’ — изменения коснутся лишь типа записи ticket;
Работа с несколькими произвольными полями
Если вам необходимо осуществлять сортировку по нескольким произвольным полям одновременно, вы можете воспользоваться параметром orderby как массивом. Например, вы можете отсортировать записи сначала по цене, а затем по дате создания:
$args = array( 'post_type' => 'ticket', 'posts_per_page' => -1, 'meta_key' => 'price', 'orderby' => array('meta_value_num' => 'ASC', 'date' => 'DESC'), );
Оптимизация запроса
Для больших объемов данных может быть полезно использовать параметр posts_per_page для пагинации, а также кэширование запросов, чтобы улучшить производительность. Например:
$args = array( 'post_type' => 'ticket', 'posts_per_page' => 10, 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => 'ASC' );
Сортировка по произвольным полям в WordPress осуществляется через параметры meta_key и orderby в WP_Query или с использованием хука pre_get_posts. Это предоставляет гибкость в управлении выводом записей и позволяет подстраивать сайт под разнообразные задачи — от интернет-магазинов до сложных контентных платформ. Также рекомендуется следить за производительностью запросов и оптимизировать их использование для улучшения быстродействия сайта.
Сортировка по категориям и тегам
Настройка отображения контента по категориям и тегам на вашем сайте может существенно улучшить навигацию и пользовательский опыт. Стандартный функционал CMS позволяет реализовать эту возможность простыми средствами.
Для начала, убедитесь, что у вас правильно настроены категории и теги. Каждая запись должна принадлежать к одной или нескольким категориям. Теги служат для более точной классификации контента и могут быть использованы в комбинации с категориями для фильтрации данных.
Важно помнить, что избыточное количество тегов может ухудшить организованность и восприятие информации.
$args = array(
'post_type' => 'post',
'category_name' => 'ваша_категория',
);
$query = new WP_Query($args);
Аналогично можно фильтровать данные по тегам. С помощью параметра ‘tag’ в запросе вы сможете выбрать записи, привязанные к конкретному тегу:
$args = array(
'post_type' => 'post',
'tag' => 'ваш_тег',
);
$query = new WP_Query($args);
При использовании виджетов и плагинов, таких как «Categories List» или «Tag Cloud», вы сможете предложить пользователям более интуитивное взаимодействие с контентом. Эти инструменты позволят визуализировать ваши категории и теги, упрощая поиск.
Помните, что использование категории и тегов должно соответствовать логике вашего контента. Разделяйте материал на более узкие группы, чтобы избежать путаницы и предоставить посетителям точные результаты по их запросам.
Внимание! Регулярно пересматривайте и очищайте список тегов и категорий, чтобы он оставался актуальным.
Повышение удобства навигации на сайте – это не только про улучшение структуры, но и про SEO. Оптимально настроенные категории и теги помогают поисковым системам лучше индексировать ваш контент, что может привести к увеличению трафика.