基本上是我的单曲。php文件中,我直接将当前帖子查询到模板中,同时还有一个相关帖子部分。
问题是,当ACF尝试检索相关post查询循环中的post字段时,它会检索当前显示的post。
while(have_posts()){ the_post();
echo the_field(\'field1\');
echo the_field(\'field2\');
echo the_field(\'field3\');
}
$recent_posts = wp_get_recent_posts();
foreach( $recent_posts as $recent ){ ?>
<img src="<?php echo the_field(\'field1\')?>">
<?php
echo the_title();
}
因此本质上它从当前post而不是最近的\\u posts查询中获取field1。我对这个问题一直很困惑。循环和查询不在while循环的范围内,所以应该可以吧?
最合适的回答,由SO网友:Drupalizeme 整理而成
我对助手函数不感兴趣,所以我会这样写:
$args=array(
\'post_type\' => \'post\',
\'posts_per_page\' => \'20\',
\'post_status\' => \'publish\',
\'order\'=>\'DESC\',
\'orderby\'=>\'ID\',
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$current_id = $post->ID;
echo the_field(\'field1\', $current_id);
}
wp_reset_postdata();
} else {
// no post
}