Wordpress:循环后看不到自定义字段

时间:2013-11-28 17:16:32

标签: wordpress loops advanced-custom-fields

我已经创建了一个循环来显示我的wordpress网站上的一些产品,他们似乎工作得很好,他们打出了产品然而如果我放置一个自定义字段后循环它没有显示。我知道它不是自定义字段本身的问题,因为如果我把它放在循环上面它工作正常。有谁知道我哪里出错了?

这是我的代码:

http://pastebin.com/SVxYK0XP

由于

1 个答案:

答案 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');