2013-11-28 58 views
1

我已经创建了一个循环来显示我的WordPress的网站上的一些产品,他们似乎工作正常,他们放弃了产品,但如果我把自定义字段之一后循环它不显示。我知道它不是自定义字段本身的问题,因为如果我把它放在循环上面,它可以正常工作。有人知道我可能会出错吗?WordPress的:无法看到循环后的自定义字段

这里是我的代码:

http://pastebin.com/SVxYK0XP

感谢

+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'); 
+0

感谢您的帮助Anastis :) – Jay

+0

很高兴我能帮到你。只要确保在使用setup_postdata()时始终遵循此模式以避免将来出现问题。 – Anastis