Используя расширенный плагин для настраиваемых полей, у меня есть пользовательский тип записи, которому назначены различные настраиваемые поля.
Я пытаюсь вывести все данные, которые содержатся в поле гибкого контента «контент»
У меня есть вывод «text_ad» нормально, но по какой-то причине я не могу понять нашу «newsletter_article», которая является пост-объектом — любое направление для получения этой работы было бы удивительным.
Прочитай это https://www.advancedcustomfields.com/resources/flexible-content/ и это https://www.advancedcustomfields.com/resources/post-object/
<?php
// check if the flexible content field has rows of data
if( have_rows('content') ):
// loop through the rows of data
while ( have_rows('content') ) : the_row();
if( get_row_layout() == 'text_ad' ):
echo the_sub_field('text_ad_title');
echo the_sub_field('text_ad_url');
echo the_sub_field('text_ad_description');
elseif( get_row_layout() == 'newsletter_article' ):
$post_object = get_sub_field('the_newsletter_article');
if( $post_object ):
$post = $post_object;
setup_postdata( $post );?>
<strong><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></strong>
<?php
wp_reset_postdata();
endif;
endif;
endwhile;
else :
// no layouts found
endif;
?>
Поскольку я только что получил один объект, я могу получить доступ к данным, как это.
<?php
elseif( get_row_layout() == 'newsletter_article' ):
$post_object = get_sub_field('the_newsletter_article');
$newstitle = $post_object->post_title;
$newsdescription = $post_object->post_content;
?>
<div style="background-color: #cccccc; margin:0 0 20px 0;">
<p><strong><?php echo $newstitle; ?></strong></p>
<p><?php echo $newsdescription; ?></p>
</div>
<?php endif; ?>
Других решений пока нет …