Yarez
@Yarez
Web Developer

Как на странице записей Wordpress с пагинацией сделать, чтобы на первой странице выводило 8 постов а на остальных 16?

Здравствуйте!
Есть страница записей с пагинацией 1,2,3...15
По дизайну страница записей page/1 отличается от остальных страниц записей page/2 , page/3 и т.д. количеством выводимых постов. На первой странице должно выводить 8 записей, а на остальных по 16 записей. У кого-то есть идеи, как это можно сделать ?
  • Вопрос задан
  • 721 просмотр
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
add_action( 'pre_get_posts', 'cr_custom_post_per_page' );

function cr_custom_post_per_page( $query )
{

    if ($query->is_main_query() && !$query->is_feed() && !is_admin()) {

        $first_page_post_count = 8;
        $empty_pages_post_count = 16;

        $paged = $query->query_vars['paged'];

        if ($paged > 1) {
            $posts_per_page =  $empty_pages_post_count;

            if ($paged == 2) {
                $offset = $first_page_post_count;
            } else {
                $offset = $first_page_post_count + ( $empty_pages_post_count * ($paged - 2));
            }

        } else {
            $offset = 0;
            $posts_per_page = $first_page_post_count;
        }

        $query->set('posts_per_page', $posts_per_page);
        $query->set('offset', $offset);

    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы