[英]Displaying content of 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循環語句有關。 如果刪除循環,則會顯示下面任何“高級自定義字段”的內容。
使用WP_Query()
,每次循環瀏覽帖子時,都將在頁面上更改默認的$post
變量。 您需要在循環后調用wp_reset_postdata()
來重置$post
變量,使其再次與當前頁面相對應。 您可以在“ while”循環之后調用該函數-
<?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
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.