Чтобы изменить сортировку в рубрике WordPress, нужно в файле functions.php добавить следующий код:
1 2 3 4 5 6 7 8 9 10 |
/** * @param WP_Query $query */ function sort_archives( $query ) { if ( ! is_admin() && $query->is_main_query() && is_archive() ) { $query->set( 'order', 'ASC' ); } } add_action( 'pre_get_posts', 'sort_archives' ); |
Таким образом, новые посты будут падать вниз, а не вверх архива.
Например: пост №1 был добавлен позже №2, но он стоит как следует, на 1-м месте.
Этот код представляет собой фрагмент PHP-скрипта, который предназначен для изменения способа сортировки записей в рубрике (категории) на сайте, работающем на платформе WordPress. Давайте разберемся подробнее, что делает этот код и как он может быть полезен.
Цель кода: Целью этого кода является изменение порядка сортировки записей в архиве (рубрике) на странице, где отображаются записи определенной категории или метки. По умолчанию WordPress сортирует записи в обратном хронологическом порядке, что означает, что новые записи отображаются вверху страницы. С использованием этого кода, вы можете изменить сортировку так, чтобы новые записи отображались внизу страницы.
Как это работает: Код определяет функцию sort_archives
, которая будет вызываться при обработке запросов к базе данных WordPress. Внутри функции происходит следующее:
- if ( ! is_admin() && $query->is_main_query() && is_archive() ): Это условие проверяет, что текущий запрос не является административным (то есть не связан с админ-панелью WordPress), что это основной запрос (не вложенный), и что мы находимся на странице архива (рубрики или метки).
- $query->set( ‘order’, ‘ASC’ );: Если все условия выше выполняются, то этот код устанавливает порядок сортировки записей на «ASC», что означает «по возрастанию». Это изменяет порядок сортировки с обратного хронологического на прямой хронологический, при котором более новые записи будут отображаться внизу страницы.
- add_action( ‘pre_get_posts’, ‘sort_archives’ );: Здесь мы связываем функцию sort_archives с хуком pre_get_posts, что позволяет выполнить нашу функцию до того, как WordPress получит записи из базы данных для отображения.
Зачем это нужно: Этот код полезен, если вам нужно изменить порядок отображения записей на странице архива в WordPress. Например, если вы хотите, чтобы старые записи оставались вверху, а новые добавлялись внизу, чтобы ваш контент выглядел более структурированным. Это может быть полезно для определенных типов сайтов, таких как блоги или новостные порталы, где важно поддерживать хронологический порядок.
Важно отметить, что для использования этого кода вы должны иметь доступ к файлу functions.php вашей темы в WordPress и быть осторожными при внесении изменений в код сайта, так как неправильные манипуляции с PHP-кодом могут вызвать ошибки или проблемы на вашем сайте. Также рекомендуется делать регулярные резервные копии сайта перед внесением подобных изменений.
Добавить комментарий