我可以创建一个具有多个POST类型的循环,并为每个POST类型指定不同的$args吗?

时间:2010-12-18 作者:matt

我想创建一个包含所有帖子类型的自定义循环:帖子和视频。然后我想指定显示帖子类型视频的所有帖子,但只显示“视频”类别中的帖子

以下是我的想法:

<?php
    $args=array(
        \'post_type\'=> array(\'video\', \'post\')
                 if( get_post_type() == \'post\' ) {
                \'category_name\' => \'videos\'
                 }      
    );
    $video_post_query = new WP_Query($args);    
?>
我知道这听起来很奇怪,但这是一个解决办法,因为自定义帖子类型是新的,在我能够获取所有旧视频帖子并将其放入自定义帖子类型之前,这需要时间。Even if I didn\'t have this issue I still think it would be useful to know how to define a multiple post type loop that specifies different parameters for each post type.

1 个回复
SO网友:t31os

我可以创建一个包含多个帖子类型的循环,并为每个帖子类型指定不同的$参数吗?

简单地说,不。。。不能有一个具有三组不同参数的查询实例。原因很简单,查询类每个实例只接受一个参数数组。

如果需要不同的结果集,则需要额外的查询。有时,只是有时,将所有内容都放到一个查询中并不一定是获取数据的最有效方法。

我在流量大的网站上工作,并不是为了真正了解哪些查询在性能方面最有效,我只是想指出,拥有一个查询并不一定会转化为更高效的查询。

结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x