@IvanKalinin

Как выводить последние 3 записи на странице wordpress?

Всем доброго времени.
Есть несколько страниц в wordpress. Главная, Блог, Контакты, О нас.
В настройках чтения стоит показывать последние посты. Как сделать, чтобы на главной показывало только последние 3 поста, а в "Блог" все. При этом, я так понимаю, все 4 используют 1 и тот же шаблон. Значит, сразу условие, на остальных 2х страницах последние посты показываться не должны.
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
вставить в functions.php
/**
* для ограничения вывода записей  на главной
*/
function cr_home_count_posts( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'posts_per_page', 3 );
    }
}
add_action( 'pre_get_posts', 'cr_home_count_posts' );
/**
* редирект со страниц пагинации на главной
*/
function cr_home_only_first_page() {
    if ( is_home() && is_paged() ) {
        wp_redirect( get_home_url(),301);
        exit;
    }
}

add_action( 'template_redirect', 'cr_home_only_first_page' );


C отключением пагинации веселее, если все строго в теме по API и для вывода используется, the_posts_pagination() доступная с 4,1 то делать так
function cr_remove_navigation_markup_template( $template, $class ) {
if ( is_home() ) $template='';
    return $template;
};

add_filter( 'navigation_markup_template', 'cr_remove_navigation_markup_template', 10, 2 );


Если пагинация выводится не через the_posts_pagination(), то тут все индивидуально и надо смотреть
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы