问题描述

有没有办法可以从以下内容中检索一组查询的帖子 ID?

$latest = new WP_Query( array (
    'orderby'               => 'rand',
    'posts_per_page'        => 3
));

if ( $latest -> have_posts() ) : while ( $latest -> have_posts() ) : $latest -> the_post();

    get_template_part( 'templates/content', 'post' );

endwhile; endif; wp_reset_postdata();

跟进:

我使用 wp_list_pluck 来检索一个 post id 数组:

$post_ids = wp_list_pluck( $latest->posts, 'ID' );

然后使用 implode 函数将数组转换成字符串:

$post_ids_string = implode( ',', $post_ids );

对不起,这个模糊的问题。

最佳解决方案

尝试

$post_ids = wp_list_pluck( $latest->posts, 'ID' );

阅读 wp_list_pluck

次佳解决方案

在查询中使用 fields 参数。

fields (string) – Which fields to return. All fields are returned by
default. There are two other options: – ‘ids’ – Return an array of post IDs. – ‘id=>parent’ – Return an associative array [ parent => ID, … ].

http://codex.wordpress.org/Class_Reference/WP_Query#Return_Fields_Parameter

$latest = new WP_Query( array (
    'orderby'               => 'rand',
    'posts_per_page'        => 3,
    'fields' => 'ids'
));
var_dump($latest->posts);

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。