フィールドを表示しようとしていますが、値は正常に表示されますが、タグの外側ですか?!??!
echo '<h2>'. the_field('where') .'</h2>';
出力 =
"London"
<h2></h2>
= である必要があります
<h2>London</h2>
次のような関数があるためです。
function the_field($text){
echo $text;
}
echo '<h3>'. the_field('where') .'</h3>';
関数を次のように変更します。
function the_field($text){
return $text;
}
echo '<h3>'. the_field('where') .'</h3>';
なんで?PHPはエコーの出力を出力する前に関数を実行するためです。
これを使って:
<h2><?php the_field('where'); ?></h2>
説明:
コードには、どのように機能するかによって出力がありますecho
。最初に文字列全体を生成し (関数を実行)、次に出力をレンダリングします。したがって、関数the_field
に出力がある場合、表示されるものが生成されます。
基本的にあなたのコードは以下と同等です:
$title = '<h3>'. the_field('where') .'</h3>';
echo $title;
例:
function test() {
echo '1';
return '2';
}
echo 'PRE - ' . test() . ' - POST';
結果は次のとおりです。
$ php test.php
1PRE - 2 - POST