我能够通过变量解析数据没问题,但我的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
的输入是&#34;测试&#34;然后HTML输出变为:
Test<h3></h3>
我的预期输出是:
<h3>Test</h3>
但我没有得到这些结果。
似乎没有什么东西可以包装,我最近经常遇到这个问题。我的思维方式是否存在错误?
答案 0 :(得分:3)
使用wordpress /(ACF)功能时,请务必检查显示或返回值。
function displayX(){ echo "data"; }
如果您想要调用此功能,赢了需要echo
来显示数据,只需要调用它,例如
displayX(); //output: data
注意:该功能不会返回数据。但即使它没有明确的退货声明也不会返回数据,it still will return something (NULL)。
function returnX(){ return "data"; }
如果你想调用这个函数,你将需要一个echo
来显示数据,只需要调用它,例如
echo returnX(); //output: data
注意:此功能将返回数据,并且不会自行显示。
当您使用显示或返回值的函数时,您会注意到一些差异。
分配
1.1功能,显示值:
$variable = displayX();
注意: $variable
,将被分配NULL
,而上方的行将输出data
。
1.2功能,返回值:
$variable = returnX();
注意: $variable
,将被分配data
,上面的行 输出任何内容。
级联
2.1功能,显示值:
echo "string start " . displayX() . " string end";
注意:您将在此处连接NULL
,因为此函数将返回此值。在您看到连接字符串之前,函数将首先显示data
。
2.2函数,返回值:
$variable = returnX();
注意:您将在此处连接data
,因为此函数将返回此值。在您看到连接字符串之前,函数不会显示任何内容。
打印
3.1功能,显示值:
displayX();
注意:此代码将输出data
。
3.2功能,返回值:
returnX();
注意:此代码不会显示任何内容。
因此,在您当前的示例中,您使用the_field()
,显示数据。但是如果你想连接它,你需要数据返回,意味着使用get_filed()
,这只会返回数据。
还有一种简单的方法可以检查函数返回的内容。只需执行:var_dump(functionCall());
,您将看到函数返回的内容。
答案 1 :(得分:1)
您应该将get_field()
与echo
一起使用,因为the_field()
已经回应了meta字段:
echo "<h3>" . get_field('pre_video_set_label_name') . "</h3>";
get_field()
返回元值,而不是回显它。