I am trying to display a field, but it shows the value fine, but OUTSIDE of the tags?!??!
echo '<h2>'. the_field('where') .'</h2>';
Output =
"London"
<h2></h2>
Should be =
<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