以下代码编译失败:
<?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/主题/banmo120/erjianban.php第26行
我该如何修复它?
您可能运行的是PHP 5.4或更早版本,因为
在PHP 5.5之前,empty()只支持变量;其他的都可以导致解析错误。换句话说,以下内容将不起作用:空(修剪(名字)美元)。请使用trim($name) == false。
参见empty()
函数的文档
因此,在PHP 5.4(及更早版本)中,您必须使用比较操作符检查结果:
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)))
注::考虑使用标识符