我在名为“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,它也不会返回任何内容......
想法?
需要添加对全局 $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;
?>
<?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;
?>