在主页中获取最新帖子和自定义类型帖子的列表

时间:2012-02-15 作者:vitto

当我需要获取单个帖子类型列表时,我通常使用get_posts, 如何检索多个custom posts types 要填充网站主页?

更准确地说,我想得到最新的混合帖子(比如工作、照片、代码等混合帖子),并按日期排序。

我可以打电话get_posts 每个自定义帖子类型,然后过滤它们,但我只是想知道是否有一种更优化的方法,比如:

<?php
$args = array (
    \'post_type\' => array (\'work\', \'photo\', \'code\', \'post\'),
    \'numberposts\' => 5,
    \'orderby\' => \'post_date\',
    \'order\' => \'DESC\'
);
$posts_array = get_posts($args);
?>
那么,是否有某种方法可以获得混合的帖子类型列表?

1 个回复
最合适的回答,由SO网友:Gavin Anderegg 整理而成

这个post_type 的参数get_posts() 函数用于检索不同类型的帖子内容。在这里,我假设“work”、“photo”和“code”是自定义的帖子类型。

使用WP\\u Query而不是使用get_posts(), 您可以使用WP_Query 类获取多个帖子类型。我刚刚在本地安装上测试了以下内容:

<?php

$q = new WP_Query(array(
    \'post_type\' => array(\'event\', \'post\')
));

while ($q->have_posts()) : $q->the_post();

?>

// ... the loop goes here as usual
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>

<?php endwhile; ?>
这为我抓取了类型为“event”和类型为“post”的帖子,并按日期显示它们。You can learn a lot more about the WP_Query object on the codex page. 甚至还有一个section specific to querying types and parameters.

请注意,在实例化WP_Query 对象位于循环顶部$q->, 但您不需要在循环内部执行此操作。

结束

相关推荐