yaleksandr89
@yaleksandr89
Junior backend developer

Как вывести поле ACF в get_posts?

Здравствуйте.
Подскажите, как вывести произвольное поле созданное в ACF в функции get_posts
function test_recent_posts() {
	$str   = '';
	$posts = get_posts( array(
		'numberposts' => -1,
		'orderby'     => 'date',
		'order'       => 'DESC',
		'post_type'   => 'post',
	) );

	foreach ( $posts as $post ) {
		setup_postdata( $post );
		$str .= '<a href="' . get_the_permalink( $post->ID ) . '" target="_blank">' . $post->post_title . '</a>';
		$str .= '<p>Автор → ' . $post->post_author . '</p>';
		$str .= '<p>Дата → ' . $post->post_date . '</p>';
		$str .= '<p>Последнeе изменение → ' . $post->post_modified . '</p>';
	}
	wp_reset_postdata();
	return $str;
}

Сначала думал, что вывести можно как файлах темы (the_field(), get_field()), но почему то не выходит. Поле имеет id = intro_article — это вступление к статье. В файлах темы оно выводиться без каких либо проблем:
<?php if ( get_field( 'intro_article' ) ) : ?>
                                <p class="excerpt text"><?php the_field( 'intro_article' ); ?></p>
							<?php endif; ?>

Но если я пытаюсь его использовать в функции выше,то результатом $str .= '<p>→ '.get_field('intro_article').'</p>'; будет вывод название последней созданной статьи.
  • Вопрос задан
  • 28 просмотров
Решения вопроса 1
TTATPuOT
@TTATPuOT
https://patriotovsky.ru/
Документация функции the_field(): https://www.advancedcustomfields.com/resources/the...

Решение:
the_field('intro_article', $post->ID);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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