Как в wordpress в некоторых рубриках сделать обратный вывод записей – сначала старые

2 способа изменить порядок записей в определенной категории в WordPress (с помощью плагина и без него)

Скачать исходники для статьи можно ниже

1. Плагин Post Order By Category

В панели управления WordPress перейдите в раздел «Плагины» -> «Добавить новый» и установите плагин «Post Order By Category».

Можно скачать с моего сайта скачать плагин Post Order By Category plugin – здесь.

Требования:
WordPress версия 4.4 или выше тестировалась на версии до 7.0.7)
PHP версия 5.2.4 или выше

После установки плагина, заходим в пункт “Записи”, подпункт “Рубрики”, выбираем нужную рубрику и видим в ней дополнительный параметр – выбора порядка отображения записей:

2. С помощью кода:

Допустим, у нас есть две категории: интервью и документы. Откройте файл functions.php вашей дочерней темы и вставьте следующий фрагмент кода:

/* Reverse default date descending order for specific categories */
function change_category_order( $query ) {
    //Sort all posts from category with id=19 (interviews) by date asc order
    if($query->is_category('19') && $query->is_main_query()){
        $query->set( 'order', 'ASC' );
    }
    //Sort all posts from category with id=15 (documents) by title and then by date asc order
    elseif($query->is_category('15') && $query->is_main_query()){
        $query->query_vars['orderby'] = 'name';
        $query->query_vars['order'] = 'ASC';
    } 
}
add_action( 'pre_get_posts', 'change_category_order' );

Приведённый выше код изменяет порядок записей для категорий с идентификаторами 15 и 19. Все интервью сортируются в хронологическом порядке (от самых старых к самым новым), а все документы — по названию (от А до Я). Не забудьте изменить идентификаторы категорий на те, которые у вас есть. Вы можете легко проверить правильный идентификатор категории, перейдя на страницу архива категорий и наведя курсор мыши на кнопку редактирования категории в чёрной верхней панели административной панели WordPress (в правом верхнем углу).

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

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

function my_query_post_type($query) {
    if ( is_category() && ( ! isset( $query->query_vars['suppress_filters'] ) || false == $query->query_vars['suppress_filters'] ) ) {
        /*Change projects with your custom post type*/
        $query->set( 'post_type', array( 'post', 'projects' ) );
        return $query;
    }
}
add_filter('pre_get_posts', 'my_query_post_type');

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий