在我的主题的Conent.php文件上使用自定义字段

时间:2012-05-22 作者:Zain Shaikh

以下代码中是否有错误?当我在内容中使用以下代码时。我的主题的php文件,然后博客上什么也没有显示,似乎有一些错误。当我评论下面的代码时,一切都恢复了正常。

<?php if (empty(get_custom_field_value("signature",""))) : ?>
    &mdash;
    <?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);
}

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

empty 将只接受通过引用传递的变量。所以empty(some_function()) 永远不会起作用。看到了吗php docs 了解更多信息。

<?php if (get_custom_field_value("signature","")) : ?>
    &mdash;
    <?php the_category( \'<span>/</span>\' ); ?>      
<?php endif; ?>
您最好只检查布尔值,如上所述。这个get_custom_field_value 函数已经负责确保您得到一些返回的内容。

另一方面,您应该在函数名前面加前缀。get_custom_field_value 非常通用。yourtheme_get_custom_field_value (用主题名称替换“yourtheme”)与其他函数名称冲突的可能性较小。

结束

相关推荐