首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示高级自定义字段的内容

问显示高级自定义字段的内容
EN

Stack Overflow用户
提问于 2016-03-15 17:44:08
回答 1查看 138关注 0票数 0

当我试图在同一个页面上显示不同的自定义帖子和高级自定义字段时,我很难理解PHP在做什么。

我已经添加了不同的高级自定义字段到一个页面,我有自定义的文章,我试图使用模板显示。

我在整个模板中调用我的自定义字段,使用:

代码语言:javascript
复制
<?php the_field(‘field-name’) ?>

我的自定义帖子是通过这样的循环调用的(在模板中间的某个地方):

代码语言:javascript
复制
<?php
  $args = array(
  'post_type' => ‘foo’
);

$foo = new WP_Query( $args );
if( $foo->have_posts() ) {

while( $foo->have_posts() ) {
  $foo->the_post();
?>
  <?php the_content() ?>                    
<?php
  }
}
else {
  // SOME MESSAGE
}
?>

高级自定义字段的内容显示得很好,在这些循环之上。在循环下面,它就是不显示。

我不明白为什么内容没有出现。

我假设它与循环的while或if语句有关。如果删除循环,下面任何高级自定义字段的内容都会显示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 19:23:06

使用WP_Query()时,每次遍历post时都会更改页面上的默认$post变量。您需要在循环之后调用wp_reset_postdata()来重置该$post变量,以便它再次对应于当前页面。你可以在你的“时间”循环之后调用这个函数-

代码语言:javascript
复制
<?php
$args = array(
    'post_type' => ‘foo’
);
$foo = new WP_Query( $args );

if( $foo->have_posts() ) {

    while( $foo->have_posts() ) { $foo->the_post();

        the_content();                    

    } wp_reset_postdata();
}
else {
  // SOME MESSAGE
}
?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36018434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档