当我尝试在同一页面上显示不同的自定义帖子和高级自定义字段时,我在理解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语句有关。如果删除循环,则会显示下面任何高级自定义字段的内容。
答案 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