$lessons_id = get_post_meta( $post->ID, '_course-lessons-1', true );
$posts = get_posts( array( 'post_type' => 'courses', 'post__in' => array( $lessons_id ) ) );
foreach ($posts as $post) : setup_postdata( $post );
echo get_the_title();
endforeach;
wp_reset_postdata();
如果将变量放在post__in中不起作用,它只返回第一个值。但是让'post__in' => array (985,987,254)
有效。我已经回应了变量,输出与985,987,254完全相同。
你能帮忙吗?
答案 0 :(得分:0)
我建议您使用WP_Query
代替get_posts
,您可以像post__in
那样使用:
$posts = new WP_Query( array(
'post_type' => 'courses',
'post__in' => $lessons_id,
) );
请记住$lessons_id
变量应该是一个数组,如下所示:
$lessons_id = array( 985, 987, 254 );
答案 1 :(得分:0)
您使用true
作为get_post_meta
的第三个参数,这意味着您的返回值始终是单个值,而不是数组。尝试用以下代码替换您的第一行:
$lessons_id = get_post_meta( $post->ID, '_course-lessons-1', false );