0

フィールドを表示しようとしていますが、値は正常に表示されますが、タグの外側ですか?!??!

echo '<h2>'. the_field('where') .'</h2>';

出力 =

"London"
<h2></h2>

= である必要があります

<h2>London</h2>
4

2 に答える 2

4

次のような関数があるためです。

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はエコーの出力を出力する前に関数を実行するためです。

于 2013-07-30T11:30:31.443 に答える
0

これを使って:

<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
于 2013-07-30T11:38:01.973 に答える