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

时间:2016-03-15 17:44:09

标签: php wordpress custom-post-type advanced-custom-fields

当我尝试在同一页面上显示不同的自定义帖子和高级自定义字段时,我在理解PHP(我)的工作时遇到了一些问题。

我在页面中添加了不同的高级自定义字段,并且我尝试使用模板显示自定义帖子。

我使用以下方法在整个模板中调用自定义字段:

<?php the_field(‘field-name’) ?>

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

<?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语句有关。如果删除循环,则会显示下面任何高级自定义字段的内容。

1 个答案:

答案 0 :(得分:2)

当您使用{ "AWSEBDockerrunVersion": 2, "containerDefinitions": [{ "name": "container-0", "image": "ubuntu", "memory": "512" }, { "name": "container-1", "image": "ubuntu", "memory": "512", "privileged": "true" }] } 时,每次循环播放帖子时,您都会更改页面上的默认WP_Query()变量。您需要在循环后调用$post来重置wp_reset_postdata()变量,使其再次对应当前页面。您可以在'while'循环后调用该函数 -

$post