Как в шаблоне WP на одной странице вывести как записи из определенной рубрики, так и текст самой страницы?

Делаю шаблон на WP. Требуется на одной странице вывести как записи из определенной рубрики, так и текст самой страницы. Формирую следующим образом запросы:
Вывод записей из рубрики
<?php $posts = get_posts ("category=3&orderby=date&numberposts=3"); ?> 
<?php if ($posts) : ?>
<?php foreach ($posts as $post) : setup_postdata ($post); ?>
	<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
	<?php the_excerpt(); ?>
	<?php the_time('d.m.y') ?>
<?php endforeach; ?>
<?php endif; ?>

Вывод текста страницы
<?php if (have_posts()) : while (have_posts()) : the_post();?>
	<?php the_content(); ?>
<?php endwhile; endif; ?>

Что получаю на выходе: записи из рубрики выводятся как надо. Текст страницы выводит текст последней записи из рубрики, а не текст страницы. Если убрать код вывода записей из рубрики, то текст страницы выводится как надо. Как лечить?
  • Вопрос задан
  • 17225 просмотров
Решения вопроса 1
get_posts является надстройкой над WP_QUERY, поэтому всегда используйте луп:

<?php
	$custom_query = 'posts_query';
	$args = array(
		'post_type' => 'post',
		'posts_per_page' => -1,
	);
	${$custom_query} = new WP_Query( $args );
	while ( ${$custom_query}->have_posts() ) : ${$custom_query}->the_post();
?>
		
<?php
	endwhile;
	wp_reset_postdata();
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
v_decadence
@v_decadence
Не пользуюсь таким способом вывода записей, но может wp_reset_postdata() после вывода записей рубрики поможет?
Ответ написан
CodeByZen
@CodeByZen
php, js, my/mssql, sqlite, html, css, it-consult
сначала получите текст, потом записи. Все из-за того что у вас в $posts
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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