Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress:Can';循环后看不到自定义字段_Wordpress_Loops_Advanced Custom Fields - Fatal编程技术网

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

Wordpress:Can';循环后看不到自定义字段,wordpress,loops,advanced-custom-fields,Wordpress,Loops,Advanced Custom Fields,我已经创建了一个循环,在我的wordpress站点上显示一些产品,它们似乎工作得很好,它们会自动输出产品,但是如果我在循环后放置一个自定义字段,它就不会显示。我知道这不是自定义字段本身的问题,因为如果我把它放在循环之上,它就可以正常工作。有人知道我哪里会出错吗 这是我的密码: 谢谢您正在循环中调用setup\u postdata(),因此将覆盖$post对象。 当您调用_字段('monoblock_valves_text')在foreach循环之后,它试图从循环的最后一篇文章中获取该自定义字段

我已经创建了一个循环,在我的wordpress站点上显示一些产品,它们似乎工作得很好,它们会自动输出产品,但是如果我在循环后放置一个自定义字段,它就不会显示。我知道这不是自定义字段本身的问题,因为如果我把它放在循环之上,它就可以正常工作。有人知道我哪里会出错吗

这是我的密码:


谢谢

您正在循环中调用
setup\u postdata()
,因此将覆盖
$post
对象。 当您调用
_字段('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');

您正在循环中调用
setup\u postdata()
,因此会覆盖
$post
对象。 当您调用
_字段('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');

请将相关代码示例添加到问题中,而不是链接到粘贴箱。请将相关代码示例添加到问题中,而不是链接到粘贴箱。感谢您的帮助Anastis:)很高兴我能提供帮助。在使用setup_postdata()时,请确保始终遵循此模式,以避免将来出现问题。感谢您的帮助Anastis:)很高兴我能提供帮助。只要确保在使用setup_postdata()时始终遵循此模式,以避免将来出现问题。