我已经创建了一个循环来显示我的wordpress网站上的一些产品,他们似乎工作得很好,他们打出了产品然而如果我放置一个自定义字段后循环它没有显示。我知道它不是自定义字段本身的问题,因为如果我把它放在循环上面它工作正常。有谁知道我哪里出错了?
这是我的代码:
由于
答案 0 :(得分:1)
您正在循环中调用setup_postdata()
,因此会覆盖$post
对象。
当你在foreach循环之后调用the_field('monoblock_valves_text');
时,它会尝试从循环的最后一个帖子中获取该自定义字段,而显然需要从显示的实际帖子/页面中获取它。
您需要在循环之前存储旧的$ post对象,并在循环之后将其恢复,如下所示:
$old_post = $post;
foreach($products_mono_posts as $post):
setup_postdata($post);
// Rest of code
endforeach;
$post = $old_post;
setup_postdata($post);
the_field('blahblahblah');