✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Сортировка сообщений WordPress по дате

161

TL;DR: если вы ищете простой способ сортировать сообщения WordPress по дате (будь то по убыванию или возрастанию) в области администрирования, чтобы пользователи не нажимали на заголовок столбца «Дата», вы можете сделать это с помощью pre_get_postsфильтра. который предоставляет ссылку на экземпляр WP_Query, работающий на странице.

Примеры в коде о том, как это сделать, см. в остальной части статьи.

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

Эта статья написана таким образом, что предполагает вашу настройку на основе классов. Это означает, что настройка фильтра определена в функции, например, initи вызывает publicимя функции в классе, например sort_articles_by_recent_time.

Наконец, он определяет приоритет 10и указывает, что функция будет принимать один аргумент (который является экземпляром WP_Query.

Сначала добавьте следующий фильтр:

add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );

Затем добавьте следующую функцию:

Вот как это работает:

  1. Обратите внимание на первые условные проверки, если мы не в области администрирования или если мы не на edit.phpстранице (которая является страницей со списком сообщений), мы просто оставляем функциональность. Это охранная оговорка или досрочное возвращение.
  2. Если мы удовлетворяем обоим этим критериям, мы обновим запрос, чтобы он упорядочивал публикации по дате в порядке убывания. Это означает, что самые последние даты всегда будут отображаться вверху.

Это не учитывает статус сообщения (поэтому, если это сообщение draftили сообщение со publishстатусом, это не имеет значения). Кроме того, это избавит пользователей от необходимости щелкать заголовок столбца «Дата» для сортировки результатов по мере необходимости, если это то, чего вы хотите в своем решении.

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

  • [pre_get_posts](https://developer.wordpress.org/reference/hooks/pre_get_posts/)
  • [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/)

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее