1

我创建了一个循环来在我的 wordpress 网站上显示一些产品,它们似乎工作正常,但如果我在循环之后放置一个自定义字段,它不会显示。我知道它不是自定义字段本身的问题,因为如果我将它放在循环之上,它就可以正常工作。有谁知道我哪里出错了?

这是我的代码:

http://pastebin.com/SVxYK0XP

谢谢

4

1 回答 1

1

您在循环中调用setup_postdata(),因此覆盖了$post对象。当您the_field('monoblock_valves_text');在 foreach 循环之后调用时,它试图从循环的最后一个帖子中获取该自定义字段,而它显然需要从实际的帖子/页面显示中获取它。

您需要在循环之前存储旧的 $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');
于 2013-11-28T17:51:29.000 回答