以下代码无法编译:
<?php if(!empty(get_post_meta(get_the_ID(), 'nf_maetadata_prefix_bicon', true))){?>
<p> <img src="<?php echo get_post_meta(get_the_ID(), 'nf_maetadata_prefix_bicon', true) ?>" width="100px"> </p>
<?php }else{?>
<spam class="text-white"><b><?php echo get_post_meta(get_the_ID(), 'nf_maetadata_prefix_bicontext', true); ?></b></spam>
<?php }?>
出现如下错误:
在写入上下文中不能使用函数返回值 /var/www/html/dev.banmo120/sc/wp-content/themes/banmo120/erjianban.php 在第26行“
我该如何解决?
我正在使用cmb2 metabox。
答案 0 :(得分:0)
您可能正在运行PHP 5.4或更早版本,因为
在PHP 5.5之前,empty()仅支持变量;别的什么都会 导致解析错误。换句话说,以下内容不起作用: 空(修剪($名))。相反,使用trim($ name)== false。
请参阅documentation for empty()
功能。
因此,在PHP 5.4(及更早版本)中,您必须使用comparison operator检查结果:
if (false != get_post_meta(get_the_ID(), 'nf_maetadata_prefix_bicon', true)))
或仅依靠隐式转换为bool
:
if (get_post_meta(get_the_ID(), 'nf_maetadata_prefix_bicon', true)))
P.S。:考虑使用身份运算符。