问题描述

当使用 WP_Query 方法运行查询时,我得到一个对象。我明白我可以做循环显示的东西。但是,我的目标不是显示任何东西,相反,我想通过做一些像”foreach…” 这样的一些帖子数据。如何获得一个可以循环并获取数据的数据的数据?

最佳解决方案

您应该阅读 WordPress 中的 function reference for WP_Query 。你有很多例子要看。如果您不想使用 while 循环使用结果集,则可以使用 posts 中的 WP_Query 获取查询返回的所有帖子。

例如

$query = new WP_Query( array( 'post_type' => 'page' ) );
$posts = $query->posts;

foreach($posts as $post) {
    // Do your stuff, e.g.
    // echo $post->post_name;
}

次佳解决方案

其实你不需要拒绝使用 while()循环。相同的 WP_Post 对象已经存储在 post 属性中:

        $query = new WP_Query( $args );

        if ( $query->have_posts() ) {

            while ( $query->have_posts() ) {

                $query->the_post();

                // now $query->post is WP_Post Object, use:
                // $query->post->ID, $query->post->post_title, etc.

            }

        }

参考文献

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