我使用许多自定义字段在WordPress网站上调用了大量数据。这些字段不需要填写后端。所以在我的模板中,我有这样的调用:
<?php if( $additional_fields[ 'Time' ] ) { echo 'Duration: ' . $additional_fields[ 'Time' ] . '<br>'; } ?>
现在这确实有效。哪个好。但是如果我打开WP Debug,并且该字段没有数据,我会受到以下问题的欢迎:
注意:未定义的索引:第63行的/home/hellod8/public_html/wp-content/themes/my-theme/page-data.php中的时间
再一次,不是关键任务。如果我关闭调试,问题就会消失。但是,我还是想解决这个问题。
我以为我可以在函数调用之上执行此操作:
<?php $additional_fields[ 'Time' ] = ''; ?>
但所有这一切都不会显示该领域的任何内容。
那么什么可以消除错误?
您可以使用isset()
来确定变量是否已设置。例:
if( isset($additional_fields['Time']) ){
echo $additional_fields['Time'];
}
如果您要查看变量是否已设置且不为空,则可以使用empty()
。例:
if( !empty($additional_fields['Time']) ){
echo $additional_fields['Time'];
}
empty()
将检查无数的变量isset
,或者值是blank
,zero
,false
或null
。 empty()
比isset()
略慢(主要是因为这些额外的检查)。
空将与说:
if( isset($additional_fields['Time']) && $additional_fields['Time'] ){
echo $additional_fields['Time'];
}