簡體   English   中英

get_posts不適用於post__in

[英]get_posts dont work with post__in

$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)'post__in' => array (985,987,254) 我已經回顯了該變量,並且輸出與985,987,254完全相同。

你能幫我嗎?

我建議您使用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 );

您正在使用true作為get_post_meta第三個參數,這意味着您的返回值將始終是單個值,而不是數組。 嘗試將第一行替換為:

$lessons_id = get_post_meta( $post->ID, '_course-lessons-1', false );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM