@Grione

Как задать условие на первую страницу пагинации wordpress?

Есть страница на WP. Там я вывожу главный пост отдельно и ниже цикл постов с пагинацией. И вот как мне на последующих страницах не выводить часть шаблона, а выводить только посты? И ещё вопрос, как мне на первой странице выводить по 6 постов, а дальше по 9?

Вот так вывожу пагинацию:
<?php $big = 999999999; // уникальное число
		?>
		<div class="pagination-wrapper">
			<div class="pagination">
				<?php echo paginate_links( array(
	'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format' => '?page=%#%',
	'current' => max( 1, get_query_var('paged') ),
	'total' => $query->max_num_pages,
) );
				?>
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 2
@Grione Автор вопроса
Получить страницу пагинации можно вот так
$paged = get_query_var('paged') ? get_query_var('paged') : 1;

И дальше написать условие.

Остаётся вопрос, как задать разное кол-во постов для 1 страницы и для последующих
Ответ написан
Комментировать
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Все изменения основного запроса нужно делать на хуке pre_get_posts

add_action( 'pre_get_posts', 'limit_posts_per_category', 1 );
function limit_posts_per_category( $query ) {

	if ( $query->is_category() && $query->is_paged() ) {
		$query->set( 'posts_per_page', 6 );
	}

}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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