Как изменить порядок записей wordpress

Сортировка записей, рубрик (категорий) и изображений в админке WordPress. Меняем порядок постов с Post Types Order и Category Order-Taxonomy Terms Order.

Приветствую вас, дорогой и бесценный читатель! Сегодня хочу представить вам популярный супер плагин сортировка записей WordPress — Post Types Order (более 3,2  миллионов загрузок). С его помощью вы сможете отображать свои посты в нужном вам порядке. То есть, вы можете изменить порядок своих записей WordPress прямо в админке сайта. Для чего это нужно? Ну например, чтобы показать наиболее архиважные записи в начале домашней страницы. Ну или по другой причине. Не важно. Добавил в обзор ещё хороший модуль — Real Custom Post Order for WordPress.

Сортировка записей и рубрик в WordPress

Меняем порядок постов, категорий и изображений на сайте WordPress Фото: kinsta.com

NEW: И ещё, если вам нужна сортировка категорий /рубрик и таксономии (иерархии) элементов в WordPress, то вам подойдёт другой плагин — Category Order — Taxonomy Terms Order и Custom Taxonomy Order. Они позволяют вручную сортировать категории / рубрики и произвольно располагать иерархические элементы. Об этом, читайте ниже.

Немного, дамы и господа, поясню о чём идёт речь. Как вы знаете, по умолчанию посты в WordPress отображаются в хронологическом порядке по дате их публикации начиная с самого нового. Можно конечно изменять даты публикаций постов, для того, чтобы вывести записи на странице в том порядке, который вам нужен.

Изменить дату публикации сообщения используя встроенную функциональность WordPress. Просто отредактируйте запись, которое вы хотите изменить, и на экране редактирования нажмите на дату публикации под панелью Документ:

Изменение даты публикации поста также изменит место, где он появляется в списке

Изменить дату публикации сообщения в редакторе Гутенберг

Для пары постов годится, но, для большого количества страниц это — долго, нудно и не удобно. Редактировать каждую публикацию, изменять дату — да боже упаси.

Ребят, есть быстрый и простой способ изменять расположение ваших сообщений. Та дам, длинная пауза —  перетаскивание (Drag and Drop) объектов компьютерной мышкой (опция перетаскивания).

С модулем Post Types Order или Real Custom Post Order for WordPress вы сможете разместить свои сообщения/записи, как вам захочется, в произвольном порядке. Например, запись годовой давности можно расположить на главной странице сайта, в первых рядах, а самый новый пост на задворках блога/сайта и так далее. Вообщем, вы меня поняли, надеюсь.

Post Types Order — сортировка типичных записей в WordPress

Изменение порядка записей и медиафайлов WordPress с помощью бесплатного плагина Post Type Order Order. Более 4 миллионов установок.

Плагин сортировка записей и вручную созданные объекты (доступные типы записей). Использует интерфейс Drag and Drop сортировки

Плагин сортировка записей WordPress
Плагин WordPress Post Types Order

Мощный плагин, Order Post и Post Types Objects, использующий функцию перетаскивания в JavaScript. Порядок может быть настроен на странице списка архивов по типу постов WordPress по умолчанию — Все записи. Или в отдельном интерфейсе Изменить порядок (Re-Order), который отображает все объекты.

Это позволяет изменить порядок записей для любых определенных вами типов сообщений, включая посты по умолчанию. Также вы можете отображать сообщения в интерфейсе администратора, отсортированные по вашему новому виду.

Установка и настройка плагина

Плагин был сделан с учетом того, что каждый может использовать сортировку, независимо от опыта работы с WordPress. Работать с данным модулем — инструментом очень просто. Установите его через установщик плагинов. Плагины — Добавить новый и ввести в запрос название модуля Post Types Order. На странице с результатами поиска он будет первый. Нажмите Установить:

Сортировка записей Вордпресс
Выберите нужный плагин и нажмите кнопку Установить

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

Перейдите на страницу основных настроек: Настройки — нажмите на появившейся пункт Post Types Order. Плагин переведён на русский язык, так что проблем у вас не будет. В принципе, всё можно оставить по умолчанию. Вам нужно это проверить и сохранить новые параметры:

После установки плагина здесь появился новый раздел Post Types Order
Сортировка типичных записей базовые настройки

Затем, не забудьте нажать синею кнопку «Сохранить настройки». Далее, для изменения порядка отображения статей на вашем сайте в админке, раздел: Записи, появится новый пункт «Изменить порядок». Вот и нажимаем.

Отображение сообщений в нужном вам порядке

Откроется специальная страница с хронологическим порядком ваших статей, они расположены друг за другом, где вы можете очень легко путём перетаскивания (Drag and Drop) мышкой отсортировать свои публикации/сообщения в нужном вам порядке, то есть, произвольно, как вам душе угодно. Просто перетащите мышью заголовки постов, чтобы изменить их порядок. Курсор мой на снимке не отображается:

Просто перетащите курсором мышки заголовки постов в нужное место
Запись — Изменить порядок с помощью курсора мышки

Нажимаете на нужный пост курсором мышки и удерживая её, перетаскиваете сообщения в нужное вам место. Вот, как то так. Здесь, курсор виден:

Re Order для изменения порядка постов
Изменения порядка публикаций с помощью перетаскивания

После того, как вы отсортировали расположения постов в нужном порядке не забудьте нажать кнопку «Обновить».  Обратите внимание, что изменять порядок сообщений можно также в разделе — Все записи. Момент перетаскивания:

Сортировка типичных записей на сайте WordPress
Перетаскивание поста курсором мышки

Можете перейти на сайт и вы увидите, что перетаскивание и сортировка сообщений сразу меняет внешний вид главной страницы сайта. А в меню Медиафайлы — Изменить порядок. Если надо, сортируете ваши изображения/картинки/фотографии:

Сортировка Медиафайлов на сайте ВордПресс
Меняем порядок изображений WP

Вы можете в значительной степени изменить порядок сообщений любого типа с помощью плагина. Это быстро и просто. Как видите, перетаскивание и сортировка сообщений сразу меняют внешний вид.

Если по какой-то причине ваш вид не обновляется, то вы либо делаете что-то неправильно, либо код вашей темы не использует стандартный запрос для правил WordPress Codex. 

Друзья, добавлю ещё отличный плагинчик для сортировки сообщений, страниц продуктов WooCommerce. Может именно он вам и нужен.

Real Custom Post Order for WordPress

Пользовательский порядок публикации сообщений, страниц, продуктов WooCommerce и пользовательских типов сообщений с помощью перетаскивания.

Сортировка записей и рубрик в WordPress 1

Многие сайты WordPress со временем растут, а вместе с ним и количество сообщений, страниц, продуктов WooCommerce и т. д. Может быть сложно найти правильный контент, связанный друг с другом, если вы используете порядок по дате публикации по умолчанию из WordPress. Пользовательский порядок публикаций — может помочь вам организовать ваш контент более интуитивно понятным способом.

Создайте собственный порядок содержимого, перетаскивая его для следующих типов содержимого:

  • Сообщения / посты;
  • Страницы;
  • Продукты WooCommerce;
  • Все остальные пользовательские типы сообщений.

Простая и интуитивно понятная сортировка вашего контента! Установите и активируйте плагин. Перейдите к определенному типу содержимого, например к страницам и отсортируйте его в произвольном порядке, перетаскивая строки:

Отсортируйте страницы в произвольном порядке, перетаскивая строки
Пользовательский порядок страниц

Real Custom Post Order полностью совместимым с другими плагинами. Например:

  1. Real Media Library;
  2. WooCommerce;
  3. Yoast SEO;
  4. wpSEO.

Теперь, дамы и господа, переходим к сортировке рубрик/категорий в WordPress.

Сортировка категорий/рубрик на сайте WordPress

Метод тот же, перетаскивание мышкой рубрик и иерархий (под-категорий). Каждый пользователь WordPress сможет произвести сортировку категорий, независимо от опыта. Когда создаются рубрики для сайта или блога, то нет возможности расположить их в нужном нам порядке. Например, по алфавиту или разместить важные/главные категории в первых рядах. Да, мало ли, за чем. Нужно отсортировать и всё. Для начала можете удалить категорию Без рубрики.

И как обычно, в таких случаях, призовём на помощь — плагин. Модуль с названием — Category Order — Taxonomy Terms Order. Что в переводе значит: Сортировка категорий и элементов таксономии (иерархии).

Плагин Category Order — Taxonomy Terms Order

Сортировка категорий / рубрик, всех пользовательских элементов таксономии (иерархии), дочерних элементов реализована с использованием возможности перетаскивания JavaScript.

Позволяет вам отсортировать категории и термины таксономий
Плагин — Сортировка рубрик WordPress

Если пользователем создано несколько рубрик, меню позволит выбрать ту, которую нужно отсортировать. Если определены дочерние категории (элементы), их можно перетаскивать также с использованием одного и того же интерфейса. Установите и активируйте плагин стандартным методом. Также вы можете настроить интерфейс элементов администратора на ваше усмотрение. Настройка — новый пункт — Сортировка списка элементов. Русский язык поддерживается.

А в разделе Записи, появится новый пункт «Заказная сортировка», кликаете и перетаскиваете рубрики вверх или вниз. Если есть дочерние категории (элементы), их можно перетаскивать таким же способом:

Сортировка категорий и таксономий
Интерфейс списка категорий WP, перетаскивание с помощью мышки

Интерфейс множественных иерархий:

Сортировка категорий и таксономия (иерархия) элементов
Сортировка множественных иерархий

Коллеги, есть ещё один бесплатный плагин для сортировки рубрик / категорий. Переведён на русский язык.

Custom Taxonomy Order — Пользовательский порядок таксономии

Модуль позволяет вам отсортировать категории и термины таксономий, с помощью простого интерфейса путем перетаскивания.

Custom Taxonomy Order - плагин WordPress позволяет упорядочивать термины таксономии
WordPress плагин — Custom Taxonomy Order

Custom Taxonomy Order — это плагин для WordPress, который позволяет упорядочивать термины таксономии.

Он поддерживает следующие функции:

  • Заказывайте (настраиваемые) термины с помощью простого интерфейса перетаскивания;
  • Никакого специального кодирования не требуется. Он использует стандартные фильтры WordPress;
  • Он использует доступные скрипты и стили WordPress;
  • Плагин легкий, без ненужных скриптов для загрузки в админку;
  • Он изящно соответствует внешнему виду интерфейса WordPress;
  • Он использует собственное меню в бэкэнде;
  • Пользовательские функции для упорядочивания самих таксономий.

Упорядочение категорий, тегов и терминов с помощью простого интерфейса перетаскивания. Чего изволите сортировать? Выбор Таксономии для сортировки:

Сортировка категорий, тегов и терминов на сайте ВордПресс
Пользовательский порядок таксономии

Например, нажимаем Рубрики:

Сортируйте термины, перетаскивая их в желаемом порядке.
Сортировать Рубрики

Сортировка рубрик / категории, перетаскивая их в желаемом порядке. Или выставите их в алфавитном порядке. Раздел Настройка — Как сортировать эти рубрики? Хороший и удобный plugin для WordPress.

Вот вроде и всё, дорогие мои друзья и товарищи.

В заключение

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

Если у вас есть что добавить или спросить, оставьте пожалуйста свой комментарий.

Желаю вам всего хорошего и до новых встреч на страницах моего любимого и полезного блога. Удачи всем! Пока, пока.

Общеизвестно, что, по умолчанию, все записи на сайте WordPress сортируются и выводятся по дате публикации. Это означает, что первыми идут самые свежие материалы, а за ними более старые. Иногда необходимо изменить такой ход событий, например, желая показать их по алфавиту.

Михаил Петров

Михаил Петров

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

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

Стандартных инструментов, позволяющих решить эту задачу, в WordPress нет. Поэтому воспользуемся сторонним решением – бесплатным плагином Post Types Order, который позволяет достаточно гибко изменить порядок вывода постов на сайте WordPress. Первым делом его необходимо установить и активировать. Сразу после активации плагин предлагает выполнить первоначальную его настройку, выводя соответствующее уведомление в админ-части сайта.

Раздел Плагины

После перехода по ссылке открывается страница его настроек.

Страница настроек плагина Post Types Order

На странице настроек плагина доступны несколько опций, позволяющих гибко настроить его работу. Так, в блоке Показать / Спрятать интерфейс доступна сортировка для Записей и Медиафайлов. Вы можете включить или отключить возможность изменить порядок сортировки для этих двух типов записей.

Настройка Минимальный уровень для использования этого плагина позволяет задать, какая группа пользователей имеет право задавать порядок вывода с помощью плагина.

Автосортировка позволит автоматически выполнять правильную сортировку. Вы сразу увидите изменения на страницах сайта. Например, на главной странице, где перечисляются анонсы записей, они будут расположены теперь в указанном вами порядке. Виджет со свежими записями в сайдбаре покажет их согласно результату сортировки. Изменение порядка записей также произойдет в меню Все записи в админке. Если Вы в шаблоне темы использовали свои запросы, изменяя порядок вывода записей, необходимо будет деактивировать опцию и задать параметр ‘orderby’ => ‘menu_order’ в параметры запроса. В этом случае плагин рекомендует более детально ознакомится с этим вопросом, предлагая страницу документации.

Отметив опцию Администраторская сортировка, Вы повлияете на интерфейс администратора и увидите типичные записи с учетом вашей новой сортировки.

Параметр Используйте параметр запроса ASC / DESC позволит автоматически выводить записи, отсортированные по алфавиту.

Настройка Перетаскивание архивов активирует режим сортировки методом Drag&Drop при помощи перетаскивания объектов мышью.

Отметив функцию Следующая / предыдущая страница, Вы таким образом укажете плагину применять сортировку на следующих/предыдущих страницах при навигации.

Для сохранения всех изменений необходимо нажать кнопку Сохранить изменения.

Теперь собственно сама сортировка записей. Для этого в админ-панели следует перейти Записи -> Изменить порядок.

Сортировка вывода записей в плагине Post Types Order

Если на странице настроек была отмечена опция Перетаскивание архивов, то Вы сможете изменять порядок следования записей, перетягивая ту или иную в нужное место. Для сохранения изменений следует нажать кнопку Обновить. Стоит ли менять порядок статей на сайте, давайте взвесим плюсы и минусы.

Более логичная структура сайта

Более глубокое вовлечение читателей в материалы

Переиндексация страниц пагинации

Осторожность, дело имеем с базой данных

Публикации перемешаны по датам, как к этому отнесутся поисковики неясно

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Если появится необходимости изменить порядок постов в отдельных категориях или полностью на всем сайте, то это можно будет сделать довольно легким путем. Мы рассмотрим один практический вариант и разбавим его несколько дополнительными способами и подходящими плагинами. Это пригодится на разные случаи, в зависимости от нужной цели.

Как изменить порядок вывода записей в WordPress

Итак, нам нужно, к примеру, в одной из всех категорий (рубрик) на сайте поменять вывод записей в обратном порядке, в хронологическом. Как это сделать? Можно создать отдельный шаблон для категории, добавив новые параметры к циклу, что является немного трудоёмким процессом, особенно для новичков.

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

// меняем порядок постов
function ord_custom_query( $query ) {
        
    if( $query->is_main_query() && ! is_admin() && $query->is_category(28) ) {// условие

        $query->set( 'orderby', 'date' );
        $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'ord_custom_query' );

Обратите внимание на условие is_category(28). Оно говорит о том, что изменения коснутся только категории с идентификатором 28. То есть управляя этим условием, мы изменяем разные части сайта. К примеру, только на главной is_home() или во всех категориях is_category() и т.д.

Intuitive Custom Post Order

Intuitive Custom Post Order

Второй вариант годится на тот случай, если задача состоит в том, чтобы отсортировать определенные посты. То есть не весь раздел, а несколько записей. В этом нам поможет плагин Intuitive Custom Post Order, тем более, как бонус, с помощью него можно менять местами категории, страницы, записи, метки.

Custom Post Order

Изменить дату поста

Изменить дату постаНу и третий вариант, самый простой в своем роде, подходит также на тот случай, если нужно отсортировать несколько определенных записей. Нужно только зайти в раздел «Все записи», выбрать нужную, нажать на «Изменить» запись и изменить дату публикации. Меняете дату на раннюю – запись уходит вниз, меняете на позднюю – запись поднимается вверх.

Автор, он же Андрей, он же Admin, он же WordSmall

Лентяй-любитель, окончил высшую школу безделья с многочисленными знаками отличия. Создатель этого небольшого «чудо-блога» о еще более «чудном» контенте.

Подписаться на новые статьи

zapisi-v-WordPress

Приветствуем вас! Если вы только начинаете вести блог, вам не нужно будет сразу же бросаться переупорядочивать свои записи. Однако по мере роста вашего контента вам понадобятся различные способы продвижения контента на вашем сайте. Один из них — сделать определенные посты более заметными на главной странице, странице блога, последних постах или страницах архива.

Не все знают, что WordPress обычно отображает записи в блоге в обратном хронологическом порядке. Нет возможности просто переместить сообщение вверх или вниз. Есть несколько обходных путей, которые позволят вам изменить порядок записей. Давайте их рассмотрим.

1. Изменить дату публикации сообщения

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

WordPress-1

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

Просто отредактируйте сообщение, которое вы хотите изменить, и на экране редактирования записи нажмите на дату публикации под панелью «Документ».

WordPress-2

У вас появится всплывающее окно даты и времени, где вы можете изменить дату и время публикации. После изменения даты / времени нажмите кнопку «Обновить», чтобы сохранить изменения.

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

2. Использование плагина 

Сначала вам нужно установить и активировать плагин Post Types Order. После активации вам нужно зайти на страницу «Настройки» — «Типы сообщений», чтобы изменить настройки плагина.

WordPress-3

Отсюда вам нужно выбрать типы постов, где вы хотите включить плагин. После этого просто нажмите кнопку «Сохранить настройки». Теперь вы можете просто перейти на страницу «Записи» — «Все записи» и просто перетащите сообщения, чтобы изменить их порядок.

WordPress-4

3. Использование функции Sticky posts

Просто отредактируйте записи в блоге, которое вы хотите закрепить наверху. На экране редактирования статьи установите флажок рядом с параметром «Прилепить к верхней части блога» на панели «Документ».

WordPress-5

После этого нажмите кнопку «Обновить». Теперь вы можете посетить свой веб-сайт, и вы увидите выбранную запись, закрепленную наверху. В зависимости от вашей темы, ваш заметка будет выделена по-разному.

4. Способ с использованием кода

Взгляните на этот фрагмент кода. Он позволяет отображать сообщения в хронологическом порядке (более старые сообщения в первую очередь).

//function to modify default WordPress query
function wpb_custom_query ( $query ) {
// Make sure we only modify the main query on the homepage
if ( $query->is_main_query () && ! is_admin () && $query->is_home () ) {
// Set parameters to modify the query
$query->set ( 'orderby', 'date' );
$query->set ( 'order', 'DESC' );
}
}
// Hook our custom query function to the pre_get_posts
add_action ( 'pre_get_posts', 'wpb_custom_query' );

Этот код просто изменяет orderby и параметры порядка в запросе WordPress по умолчанию.

Однако этот код может иногда не работать должным образом из-за того, что некоторые плагины или тема уже модифицируют запрос по умолчанию. Чтобы это исправить, вы можете использовать такой suppress filters параметр:

//function to modify default WordPress query
function wpb_custom_query ( $query ) {
// Make sure we only modify the main query on the homepage
if ( $query->is_main_query () && ! is_admin () && $query->is_home () ) {
// Set parameters to modify the query
$query->set ( 'orderby', 'date' );
$query->set ( 'order', 'DESC' );
$query->set ( 'suppress_filters', 'true' );
}
}
// Hook our custom query function to the pre_get_posts
add_action ( 'pre_get_posts', 'wpb_custom_query' );

Мы надеемся, что эта статья помогла вам изучить простые способы изменения порядка записей в блоге. А у нас на этом все. Всем пока!

С уважением Вячеслав и Валерия!

Понравился материал? Поделитесь с друзьями!

Интересное на блоге

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

blogord

Если вы хотите изменить порядок вывода записей, у вас есть три варианта: изменить дату публикации записи, написать некоторый код для сортировки записи с помощью параметров, отличных от даты публикации, либо найти плагин, который сделает всю работу за вас.

Смена даты публикации – не самый лучший подход для большинства блогов. Таким образом, в данной статье мы рассмотрим второй и третий вариант. Для начала я покажу вам, как написать плагин для применения произвольного порядка вывода записей. Затем мы рассмотрим два плагина из хранилища WordPress, которые мы будем использовать для создания произвольного порядка вывода записей.

Содержание

  1. Пишем свой плагин для вывода записей
  2. Способы использования произвольного порядка вывода записей
  3. Меняем записи на странице блога на произвольно отсортированный список
  4. Создаем курируемый список произвольно отсортированных записей
  5. Добавляем отсортированные записи в начало списка записей блога
  6. Плагины для достижения тех же целей

Пишем свой плагин для вывода записей

Есть два основных шага, которые необходимы для реализации своего порядка вывода записей:

  1. Добавить произвольное поле, которое будет использоваться в качестве основы для сортировки постов.
  2. Реализовать произвольный порядок сортировки, изменив основной цикл WordPress или создав произвольный цикл и добавив его к специальному шаблону страниц или в виджет сайдбара.

Давайте начнем с добавления произвольного поля, что делается на экране редактирования записей WordPress. Однако перед тем как сделать это, вам нужно будет включить среду разработки, создать папку с плагином, после чего создать файл плагина в этой папке. Если вы хотите узнать, как выглядит структура плагина, вы можете видеть готовый продукт на GitHub.

Создаем произвольное поле

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

Первый шаг для добавления произвольной мета-панели к бэкэнду – это создание панели и привязка ее к экрану редактирования записей:

<?php
/* Create custom meta data box to the post edit screen */
function jpen_custom_post_sort( $post ){
  add_meta_box( 
    'custom_post_sort_box', 
    'Position in List of Posts', 
    'jpen_custom_post_order', 
    'post' ,
    'side'
    );
}
add_action( 'add_meta_boxes', 'jpen_custom_post_sort' );
?>

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

custom-sort-box-1

Вы можете заметить функцию обратного вызова ‘jpen_custom_post_order’ в коде. Давайте создадим эту функцию далее и добавим ее в файл нашего плагина. Она будет вносить поле в мета-панель, которую мы создали выше.

<?php
/* Add a field to the metabox */
function jpen_custom_post_order( $post ) {
  wp_nonce_field( basename( __FILE__ ), 'jpen_custom_post_order_nonce' );
  $current_pos = get_post_meta( $post->ID, '_custom_post_order', true); ?>
  <p>Enter the position at which you would like the post to appear. For exampe, post "1" will appear first, post "2" second, and so forth.</p>
  <p><input type="number" name="pos" value="<?php echo $current_pos; ?>" /></p>
  <?php
}
?>

Фрагмент кода начинается с задания одноразовых чисел (nonces). Затем мы создаем переменную $current_pos и присваиваем ей значение текущего порядка сортировки записей. Далее идут два элемента p, которые создают видимый контент мета-панели. Затем текущее значение, если оно существует, выводится в поле.

Наконец, нам нужно сохранить пользовательский ввод в базу данных. Мы сделаем это, добавив следующий код к плагину:

<?php
/* Save the input to post_meta_data */
function jpen_save_custom_post_order( $post_id ){
  if ( !isset( $_POST['jpen_custom_post_order_nonce'] ) || !wp_verify_nonce( $_POST['jpen_custom_post_order_nonce'], basename( __FILE__ ) ) ){
    return;
  } 
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){
    return;
  }
  if ( ! current_user_can( 'edit_post', $post_id ) ){
    return;
  }
  if ( isset( $_REQUEST['pos'] ) ) {
    update_post_meta( $post_id, '_custom_post_order', sanitize_text_field( $_POST['pos'] ) );
  }
}
add_action( 'save_post', 'jpen_save_custom_post_order' );
?>

Здесь мы сначала проверяем задание одноразовых чисел, после чего выполняем проверку пользовательских полномочий для внесения изменений в запись. Если проверка прошла успешно, метаданные записи обновляются – в них заносится новое значение произвольного порядка вывода записей.

Выводим произвольное поле в панели администратора

В прошлом разделе мы добавили произвольную мета-панель к экрану редактирования записей – она будет хранить числовое значение. Чуть позже мы будем использовать это числовое значение для создания своего порядка вывода записей. Однако нам нужно решить еще одну проблему перед этим.

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

Во-первых, нам нужно добавить произвольный столбец к списку записей в области администратора. Мы сделаем это при помощи следующего кода:

<?php
/* Add custom post order column to post list */
function jpen_add_custom_post_order_column( $columns ){
  return array_merge ( $columns,
    array( 'pos' => 'Position', ));
}
add_filter('manage_posts_columns' , 'jpen_add_custom_post_order_column');
?>

Затем нам нужно получить значение порядка вывода записей для каждой записи и вывести это значение в новом столбце. Это не так сложно, и мы сделаем это с помощью следующей функции:

<?php
/* Display custom post order in the post list */
function jpen_custom_post_order_value( $column, $post_id ){
  if ($column == 'pos' ){
    echo '<p>' . get_post_meta( $post_id, '_custom_post_order', true) . '</p>';
  }
}
add_action( 'manage_posts_custom_column' , 'jpen_custom_post_order_value' , 10 , 2 );
?>

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

Вот как это будет выглядеть в панели администратора:

list-of-posts-with-position

Способы использования произвольного порядка вывода записей

Теперь, когда мы реализовали возможность привязки произвольного порядка вывода к записям, пришла пора найти достойное применение этой опции. Нам нужно ответить на вопрос: «Как именно мы хотим использовать произвольный порядок вывода записей?»

Есть несколько разных вариантов, как можно применить произвольную сортировку. Вот пара идей:

  • Сортировать все записи в произвольном порядке и выводить отсортированный список на странице записей блога. Вряд ли вы захотите делать это на активно пополняемом блоге, однако если вы используете WordPress для публикации серии учебных руководств, которые обновляются не так часто, вы можете прибегнуть к сортировке записей в произвольном порядке.
  • Создать курируемый список записей и выводить эти записи в любом удобном порядке с помощью произвольных шаблонов страниц. К примеру, вы можете создать список, в котором будут присутствовать только записи из определенной категории, и сортировать эти записи в любом удобном порядке.
  • Создать список записей блога, который будет начинаться с нескольких произвольно отсортированных записей, после чего будут включены остальные посты в обычном порядке.

Никаких пределов нет. Если вы нашли применение произвольному порядку вывода записей и знаете, как это реализовать – отлично! Давайте рассмотрим все три идеи, изложенные выше, чтобы понять, как они будут выполняться на практике.

Меняем записи на странице блога на произвольно отсортированный список

Самый простой способ использования произвольного порядка вывода записей – замена стандартного списка записей на странице блога на произвольно отсортированный список. Чтобы сделать это, вы должны поместить следующую функцию в ваш плагин:

<?php
/* Sort posts on the blog posts page according to the custom sort order */
function jpen_custom_post_order_sort( $query ){
  if ( $query->is_main_query() && is_home() ){
    $query->set( 'orderby', 'meta_value' );
    $query->set( 'meta_key', '_custom_post_order' );
    $query->set( 'order' , 'ASC' );
  }
}
add_action( 'pre_get_posts' , 'jpen_custom_post_order_sort' );
?>

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

Создаем курируемый список произвольно отсортированных записей

Создание курируемого списка произвольно отсортированных записей требует использования класса WP_Query. Вам нужно будет создать запрос, включающий параметр, который вы хотите использовать для внесения записи в список, после чего вам нужно будет добавить произвольный порядок сортировки к запросу. Вот как будет выглядеть код:

<?php
$args = array(
  'post_type' => 'post',
  'cat' => '94',
  'meta_key' => '_custom_post_order',
  'orderby' => 'meta_value',
  'order' => 'ASC'
);
$query = new WP_query ( $args );
if ( $query->have_posts() ) {
  while ($query->have_posts() ) {
    $query->the_post();
    /* only list posts that have a current custom post order value */
    if ( !empty(get_post_meta( $post->ID, '_custom_post_order', true )) ) : ?>

    /* insert code for rendering posts */

<?php 
    endif; }
  wp_reset_postdata();
} ?>

Этот запрос сначала отберет все записи, которые принадлежат к категории с ID = 94. Далее он будет отбирать записи, которые имеют значение произвольного порядка вывода. Наконец, он отсортирует эти записи в нужном порядке.

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

Добавляем отсортированные записи в начало списка записей блога

Еще один вариант реализации сортировки – добавление произвольно отсортированных записей в начало списка записей блога, после чего уже пойдут остальные записи блога, сортируемые в обычном порядке. Сделать это будет сложнее – нам понадобится создать два произвольных запроса с помощью класса WP_Query.

Первый запрос получит произвольно отсортированные записи и выведет их в соответствии со значением сортировки. Однако нам нужно, чтобы список произвольно отсортированных записей был представлен только на первой странице блога, поэтому нам нужно будет добавить также условие if, которое будет проверять, является ли страница первой.

Второй запрос получит все записи и отсортирует их в обычном порядке. Однако он пропустит все те записи, к которым присвоено произвольное значение сортировки. Чтобы включить пагинацию для записей, полученных во втором запросе, нам нужно будет поработать с глобальной переменной $wp_query.

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

<?php
/*  
 *  First Loop 
 *  Returns posts with a custom post order value
 */
// First, determine if on the first page of posts
// If on first page, run query to display posts with custom sort first
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if(1 == $paged) :
  $args1 = array(
    'post_type' => 'post',
    'meta_key' => '_custom_post_order',
    'orderby' => 'meta_value',
    'order' => 'ASC'
  );
  $query1 = new WP_query ( $args1 );
  if ( $query1->have_posts() ) :
    while ($query1->have_posts() ) :
      $query1->the_post(); 
      // This if statement will skip posts that were assigned a custom sort value and then had that value removed 
      if ( !empty(get_post_meta( $post->ID, '_custom_post_order', true )) ) :
        // Display the custom sorted posts ?>
        <div>
        <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
        <?php the_excerpt(); ?>
        <a href="<?php the_permalink(); ?>">Read More</a>
        </div>
        <hr>
        <!--insert additional code for rendering posts--><?php
 
      endif; // End displaying custom sorted posts
    endwhile; // End looping through custom sorted posts
  endif; // End loop 1
  wp_reset_postdata(); // Set up post data for next loop
endif; // End checking for first page
/*  
 *  Second Loop 
 *  Returns all posts except those in the list above
 */
$args2 = array(
  'post_type' => 'post',
  'orderby' => 'date',
  'order' => 'DESC',
  'paged' => $paged
);
// For pagination to work, must make temporary use of global $wp_query variable
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_query ( $args2 );
if ( $wp_query->have_posts() ) :
  while ($wp_query->have_posts() ) :
    $wp_query->the_post();
      // Skip posts with custom sort value
      if ( !empty(get_post_meta( $post->ID, '_custom_post_order', true )) ) { continue; }
      // Display the standard sorted posts ?>
      <div>
      <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
      <?php the_excerpt(); ?>
      <a href="<?php the_permalink(); ?>">Read More</a>
      </div>
      <hr>
      <!--insert additional code for rendering posts--><?php
    
  endwhile; // End looping through standard sorted posts
endif; // End loop 2
wp_reset_postdata();
// Pagination functions would go here
// Reset global $wp_query variable to its original state
$wp_query = null;
$wp_query = $temp;
?>

Вы можете использовать этот набор запросов, чтобы заменить стандартный запрос для страницы блога. Делается это в три шага:

  1. Создаем файл home.php, копируя Index.php родительской темы.
  2. Помещаем эти запросы вместо базового цикла.
  3. Загружаем новый home.php в корневую директорию дочерней темы.

Теперь при отображении страницы блога будет использоваться новый файл home.php в качестве шаблона страницы.

Плагины для достижения тех же целей

Если вы не разработчик или же вам не требуется гибкость произвольных решений, вы можете воспользоваться несколькими плагинами, которые доступны в каталоге плагинов WordPress.org. С их помощью вы сможете облегчить сортировку записей. Однако многие из доступных решений плохо поддерживаются или нерегулярно обновляются. Давайте рассмотрим два варианта, которые активно поддерживаются их разработчиками и имеют регулярные обновления.

Post Types Order

pto

Post Types Order активен на более чем 400 000 сайтов, постоянно обновляется; разработчик активно решает вопросы, поступающие в поддержку. Плагин имеет рейтинг 4,6 из 5 и собрал более 150 отзывов от пользователей.

Плагин может использоваться для произвольной сортировки записей и типов записей. Чтобы использовать плагин, просто установите и активируйте его, после чего перейдите в раздел Settings > Post Types Order. Далее посетите список записей в панели администратора и просто перетащите записи в требуемый раздел с порядком сортировки. В итоге вы увидите, что записи во фронтэнде вашего сайта были отсортированы в нужном вам порядке.

Order Your Posts Manually

orde

Order Your Posts Manually активен менее чем на 1000 сайтов WordPress. Однако он имеет хороший рейтинг, равный 4,6 из 5, и разработчики решают все запросы, поступающие в поддержку. Плагин действительно стоит рассмотрения.

Чтобы использовать плагин, установите его, активируйте и перейдите в раздел Settings > Order Your Posts Manually. Настройте несколько опций и щелкните Order My Posts. Щелчок по этой кнопке перенесет вас в раздел Tools > Order Your Post Manually и сгенерирует список всех ваших записей. Просто перетащите ваши записи в нужную группу, чтобы упорядочить их, после чего щелкните по Save Changes.

Источник: wpmu.org

Сортировка записей и рубрик в WordPress, плагин Post types order

По умолчанию WordPress располагает пользовательские сообщения на страницах сайта по дате публикации. Такой порядок сохраняется для записей, медиафайлов и комментариев. Некоторые темы используют эту очередность для отображения на слайдерах. Рассмотрим, как можно изменить порядок вывода сообщений при необходимости.

Сортировка категорий, записей, страниц и ссылок в WordPress

Одной из особенностей, представленных разработчиками WordPress, является возможность создания пользовательского типа контента, к которым относятся записи, рубрики, аудио- и видеофайлы, а также комментарии на страницах к ним. Это позволяет гибко управлять контентом и создавать различные разделы на сайте. Сообщение с самой старой датой показывается на странице последним, а сообщение с самой ранней датой появляется первым.

сортировка по умолчанию

Многим пользователям WordPress может понадобиться изменить порядок вывода сообщений на странице, например, чтобы показывать наиболее важные записи в начале страницы. Существует несколько способов справиться с этим. Поскольку по умолчанию посты упорядочены по дате их публикации, вы можете вручную манипулировать записями, изменяя даты публикаций, чтобы вывести посты на странице в том порядке, который вы предпочитаете. Если записей много, такой вариант неудобен.

Другим способом является использование специального плагина Post Types Order, который предлагает быстрый и простой метод применить сортировку с помощью перетаскивания объектов мышью.

Однако, если на вашем сайте установлено много плагинов, это может замедлить его загрузку. Поэтому в последнее время сортировка чаще всего реализуется через произвольное меню и его вывод в нужном месте страницы. Это дает более гибкие настройки, чем плагины, и предоставляет возможность комбинировать разные типы контента.

Установка и настройка плагина Post Types Order для WP

  1. В админ-панели WordPress перейдите в меню «Плагины».
  2. Выберите пункт «Добавить новый».
  3. В строке поиска наберите название плагина Post Types Order.
  4. Выберите нужный плагин и нажмите кнопку «Установить».

Дождитесь завершения установки плагина. Когда все будет готово, активируйте его, нажав соответствующую кнопку.

установка плагина

Чтобы провести настройку параметров плагина, перейдите в меню «Настройки» (1). После установки плагина здесь появился новый пункт Post Types Order (2). На странице базовых настроек вы можете указать, какой интерфейс следует включить для сортировки записей и медиафайлов (3). Выбрать уровень доступа к сортировке (4) и использовать опцию Auto Sort (5), чтобы плагин выполнил изменение кода и обновление сортировки записей на лету. Можно активировать режим сортировки методом Drag&Drop при помощи перетаскивания объектов мышью (6).

настройки плагина

По окончании настройки подтвердите изменения нажатием кнопки «Save Settings» (7). Премиум-версия этого плагина позволит управлять иерархией записей на разных уровнях, а также выполнять сложную сортировку, опираясь на специфику объектов.

Использование плагина — сортировка постов в рубрике Вордпресса

Чтобы начать сортировку записей, перейдите в соответствующее меню (1), в нем появился новый пункт «Re-Order» (2). Выбор этого пункта приведет на страницу сортировки этого типа сообщений. Заголовок каждой записи указывается в небольшом поле в общем списке (3), который содержит все имеющиеся на сайте записи. Просто перетащите мышью заголовки сообщений, чтобы изменить их порядок. По окончании сортировки нажмите кнопку «Update» (4), чтобы обновить список.

изменение порядка сортировка

Если в настройках плагина указана опция Auto Sort, вы сразу увидите изменения на страницах сайта. Например, на главной странице, где перечисляются анонсы записей, они будут расположены теперь в указанном вами порядке. Виджет со свежими записями в сайдбаре покажет их согласно результату сортировки. Изменение порядка записей также произойдет в меню «Все записи» в админке.

итоговая сортировка

iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.

Мы предлагаем:

  • Виртуальные серверы с NVMe SSD дисками от 299 руб/мес
  • Безлимитный хостинг на SSD дисках от 142 руб/мес
  • Выделенные серверы в наличии и под заказ
  • Регистрацию доменов в более 350 зонах

Like this post? Please share to your friends:
  • Как изменить порядок загрузки операционной системы windows 10
  • Как изменить порядок загрузки мониторов
  • Как изменить порядок загрузки модов skyrim se
  • Как изменить порядок загрузки компьютера
  • Как изменить порядок выполнения анимационных эффектов