Problem with get_post_meta

时间:2012-10-09 作者:user1666698

我正在使用以下代码检索post meta:

if ( get_post_meta($post->ID,\'a\',true) == \'\') {
    echo \'<img src="\' . get_bloginfo( \'template_url\' ) . \'/img/img22.jpg" ></img>\';
} else {
    echo get_post_meta($post->ID,\'a\',true); 
}
无论mete box文本字段是否为空,if语句的第一个块始终在执行,而else块在任何情况下都不会执行。我想知道这个代码中是否有任何缺陷,或者

echo get_post_meta($post->ID,\'a\',true)
不是有效代码。我们将非常感谢您的帮助。

5 个回复
SO网友:Jeff VanDrimmelen

我有一些像你一样的问题。这是因为它位于一个页面模板上,上面有一个查询。我所要做的就是重置query.

SO网友:dipali

试试这个。希望这会很好

$key_1_value = get_post_meta($post->ID, \'a\', true);
    // check if the custum field has a value
    if($key_1_value != \'\') {
      echo $key_1_value;
    } else{
      echo \'<img src="\' . get_bloginfo( \'template_url\' ) . \'/img/img22.jpg";
    }

SO网友:Md Toufiqul Islam

使用PHP empty()函数作为检查meta值是否为null的条件:

<?php
    $my_val = get_post_meta($post->ID,\'a\',true);
    if( empty( $my_val ) ) {
        echo \'<img src="\' . get_bloginfo( \'template_url\' ) . \'/img/img22.jpg" ></img>\';
    } else {
        echo $my_val; 
    }
?>

SO网友:Monirul Islam

Try This

<?php if( ( $usermeta  = get_post_meta($post->ID,\'a\',true)) && !empty($usermeta) ){
                        echo $usermeta; 

                    }else{
                        echo \'<img src="\' . get_bloginfo( \'template_url\' ) . \'/img/img22.jpg" ></img>\';
                    } ?>
SO网友:CyberMessiah

我遇到了同样的问题,并通过替换以下代码来克服它:

(get_post_meta($post->ID,\'a\',true)
具有以下功能:

(get_post_meta(get_the_ID(),\'a\',true)
希望这样可以省去别人陷入困境的麻烦。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在