@Dasslier
FrontEnd Developer

Как вывести последние записи на главной странице с миниатюрами?

На сайте имеется несколько произвольных типов записей, например, есть "акции" и "статьи"
Сейчас мучаюсь с выводом последних 6ти записей из произвольного типа записей "акции" на главной странице, просьба помочь.
<?php 
	$args = array(
		'numberposts' => 6,
		'post_type' => 'akcii',
		'post_status' => 'publish',
		); 

	$result = wp_get_recent_posts($args);

		foreach( $result as $p ){ 
	?>
		<div class="col-12 col-sm-6 col-lg-4">
			<div class="main-articles_block">
				<div class="main-articles_header"><?php echo $p['post_title'] ?></div>
					<a href="<?php echo get_permalink($p['ID']) ?>">
						<?php the_post_thumbnail('actions-preview', ''); ?>
					</a>
					<div class="main-articles_descr">
						<div>
							<a href="<?php echo get_permalink($p['ID']) ?>">Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.</a>
						</div>
					</div>
				</div>
			</div>
<?php 
	} 
?>

Вопрос: Почему не срабатывает код? <?php the_post_thumbnail('actions-preview', ''); ?>
Этот код используется для вывода миниатюры записи в произвольном типе записей 'akcii' prntscr.com/jvwke5, просто <?php the_post_thumbnail(); ?> тоже пробовал, ничего не сработало.
Сами посты выводятся на главной, выводится название, ссылка, но картинка не выводится.
И еще вопрос: Отрывок текста у превью записи в разделе akcii выводится при помощи ACF вот так prntscr.com/jvwlaf , при таком способе реализации, это превью не вывести уже на главной? Т.к. если вставить эту строчку в текст превью - он остается пустым, а по ID не вариант выводить.
Как итог выглядит это сейчас вот так prntscr.com/jvwln0 - не хватает изображения и должен использоваться отрывок из самой записи
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
trampick
@trampick
Веб-разработчик
Исправь свой запрос и цикл на такой вид. Будет работать.
<?php
		$args   = array(
			'post_type'      => 'akcii',
			'posts_per_page' => 6,
		);
		$recent = new WP_Query( $args );
		while ( $recent->have_posts() ) {
			$recent->the_post();
			?>
			<div class="col-12 col-sm-6 col-lg-4">
				<div class="main-articles_block">
					<div class="main-articles_header"><?php echo get_the_title(); ?></div>
				  <a href="<?php echo get_permalink();?>">
					<?php the_post_thumbnail('actions-preview', ''); ?>
				  </a>
				  <div class="main-articles_descr">
					<div>
					  <a href="<?php echo get_permalink(); ?>">Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.</a>
					</div>
				  </div>
				</div>
			</div>
			<?php
		}
		wp_reset_postdata();
		wp_reset_query();
		?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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