Kapelnikov
@Kapelnikov
www.kapelnikov.ru

Как решить проблему пагинацией при выводе определенных постов на Главной?

Вывожу на Главной только посты определенной категории (блога). Но после перехода на страницу 2, там эти же посты. Вот код:

<?php	

if (have_posts()) :
   
    query_posts('cat=1');
    
	while (have_posts()) : the_post(); ?>
	

	
	 	<article class="post">
					
			<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

			<div class="post__info">
                     <span class="post__info--date"><?php echo get_the_date(); ?></span>
                     <span class="post__info--comments"><a href="<?php the_permalink(); ?>#comments">комментировать</a></span>
            </div>

			<?php the_content(); ?>
			
			<p class="post__hashtag"><?php the_tags($before=""); ?></p>
			
		

		</article>

	<?php endwhile;
	
	
	
	else :
		echo '<p>Записей нет</p>';
	
	endif;
	

	
	?>
  • Вопрос задан
  • 805 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix
Java Software Engineer
Лучше использовать WP_Query вместо query_posts.
А вывести записи с пагинацией можно так:

<?php global $wp_query;
								$wp_query = new WP_Query(array(
									'posts_per_page' => '4',
									'post_type' => 'post',
                                                                        'category__in' => '1', //дочерние будут проигнорированы
									'paged' => get_query_var('paged') ?: 1 // страница пагинации
								));
								while( have_posts() ) { the_post(); ?>
<!-- content здесь -->
							<?php }  ?>
							<!-- пагинация здесь -->
							<?php wp_reset_query(); ?>


Пример с такой реализацией: https://md7.info/fakty
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
blood-moon
@blood-moon
Фрилансер
Скорей всего лютый костыль и вообще за такое убить могут
если я правильно понял вопрос
На главной к примеру выводишь 4 поста а на след страницу в цикл добавь параметр offset=4 . Тб пропускай 4 поста которые выводились на главной . вот тут это есть https://wp-kama.ru/function/wp_query
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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