Wordpress get_post_meta() - 不返回值

时间:2012-02-15 20:01:20

标签: wordpress

我在名为“Show”的自定义帖子类型下制作了一些meta_values。我已确认元数据值正确存储在数据库中。现在,我有以下代码片段:

<?php
        $args = array( 'post_type' => 'show', 'posts_per_page' => 1 );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post();
             print get_post_meta($loop->ID, 'date_meta', true);
             the_title();
        endwhile;
?>

实际的循环工作wine,因为它显示了the_title()的结果。但是get_post_meta()没有返回任何东西。键值是正确的,DB中有一个值。

另外,如果我尝试打印$ loop-&gt; ID,它也不会返回任何内容......

想法?

2 个答案:

答案 0 :(得分:1)

需要添加对全局$ post变量的引用:

<?php
    $args = array( 'post_type' => 'show', 'posts_per_page' => 1 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
         global $post;
         print get_post_meta($loop->ID, 'date_meta', true);
         the_title();
    endwhile;
?>

答案 1 :(得分:0)

<?php
$args = array( 'post_type' => 'show', 'posts_per_page' => 1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
     echo get_post_meta($loop->post_ID, 'date_meta', true);
     the_title();
endwhile;
?>