Wordpress get_post_meta() - 不返回值

问题描述 投票:0回答:2

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

<?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;
?>

实际循环工作正常,因为它确实显示了 the_title() 的结果。但 get_post_meta() 没有返回任何内容。键值是正确的,并且在数据库中有一个值。

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

想法?

wordpress
2个回答
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;
?>

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;
?>
© www.soinside.com 2019 - 2024. All rights reserved.