我能够通过变量解析数据,没有问题,但是我的echo的HTML输出没有被正确包装。
<?
if( get_field('pre_video_set_label_name') ) {
echo "<h3>" . the_field('pre_video_set_label_name') . "</h3>";
} else {
echo "<h3>Post-Event Video</h3>";
}
?>
如果我的pre_video_set_label_name
的输入是"Test",那么HTML输出变成:
Test<h3></h3>
我的期望输出是:
<h3>Test</h3>
但是我没有得到这些结果。
似乎什么都不能包装,我最近经常遇到这个问题。我的思维方式有问题吗?
当你使用wordpress/(ACF)函数时,总是检查它们是显示还是返回值。
功能,用于显示的值:
<>以前函数displayX () {与"数据";}之前如果你想调用这个函数,你不需要一个echo
来显示数据,只需调用它,例如
displayX(); //output: data
注意:函数不会返回数据。但是,即使它没有显式的返回语句,也不会返回数据,它仍然会返回一些东西(NULL)。
函数,其中返回值:
<>以前函数returnX () {返回"数据";}之前如果你想调用这个函数,你将需要一个echo
来显示数据,只需调用它,例如
echo returnX(); //output: data
注意:此函数将返回数据,而不会自己显示。
不同的行为当你使用显示或返回值的函数时,你会注意到一些不同。
- 作业
1.1功能,其中显示的值:
$variable = displayX();
注:
1.2函数,其中返回值:$variable
,将被分配NULL
,而上面的行将输出data
。$variable = returnX();
注意:
$variable
,将分配data
,并且上面的行不会输出任何内容。- 串联2.1函数,其中显示的值:
echo "string start " . displayX() . " string end";
注意:您将在这里连接
2.2函数,其中返回值:NULL
,因为该函数将返回该值。函数将首先显示data
,然后再看到连接的字符串。$variable = returnX();
注意:您将在这里连接
data
,因为该函数将返回该值。在您看到连接的字符串之前,函数不会先显示任何内容。 打印 - 3.1函数,其中显示的值:
displayX();
注意:这段代码输出
3.2函数,其中返回值:data
。returnX();
注意:这段代码不会显示任何东西。
因此,在当前的示例中,您使用
the_field()
,其中显示数据。但是如果您想要连接它,则需要返回数据,这意味着使用get_filed()
,它将返回数据。
还有一种简单的方法来检查函数返回的内容。只需执行:var_dump(functionCall());
,您将看到函数返回的内容。
您应该使用get_field()
和echo
,因为the_field()
已经响应元字段:
echo "<h3>" . get_field('pre_video_set_label_name') . "</h3>";
get_field()
返回元值,而不是回显。