以下代码中是否有错误?当我在内容中使用以下代码时。我的主题的php文件,然后博客上什么也没有显示,似乎有一些错误。当我评论下面的代码时,一切都恢复了正常。
<?php if (empty(get_custom_field_value("signature",""))) : ?>
—
<?php the_category( \'<span>/</span>\' ); ?>
<?php endif; ?>
这里是
get_custom_field_value
功能:
function get_custom_field_value($szKey, $prefix = \'\', $bPrint = false) {
global $post;
$szValue = get_post_meta($post->ID, $szKey, true);
if ( $bPrint == false ) return (empty($szValue) ? "" : $prefix . $szValue); else echo (empty($szValue) ? $szValue : $prefix . $szValue);
}
最合适的回答,由SO网友:chrisguitarguy 整理而成
empty
将只接受通过引用传递的变量。所以empty(some_function())
永远不会起作用。看到了吗php docs 了解更多信息。
<?php if (get_custom_field_value("signature","")) : ?>
—
<?php the_category( \'<span>/</span>\' ); ?>
<?php endif; ?>
您最好只检查布尔值,如上所述。这个
get_custom_field_value
函数已经负责确保您得到一些返回的内容。
另一方面,您应该在函数名前面加前缀。get_custom_field_value
非常通用。yourtheme_get_custom_field_value
(用主题名称替换“yourtheme”)与其他函数名称冲突的可能性较小。