如何在循环中强制执行特定的自定义POST类型 时间:2012-12-09 作者:Tsahi Levent-Levi 我正在开发一个博客,其中的主要帖子都是自定义的帖子类型。让我们假设它是一个Book custom post类型。我希望/author/admin页面列出作者管理员的书籍,但相反,它会去搜索管理员的帖子,这是内置的基本帖子类型。如何使我的自定义post type Book用于所有此类索引查询?(主页、作者、搜索等)。 3 个回复 SO网友:Milo 您可以通过pre_get_posts 操作和检查是否is_main_query:function wpa75492_post_type_query( $query ) { if ( $query->is_main_query() ) { $query->set( \'post_type\', array( \'book\' ) ); } } add_action( \'pre_get_posts\', \'wpa75492_post_type_query\' ); SO网友:Shaon 此处使用参数post\\u type=自定义post type slug例如,如果您的post type slug是“product”,则使用如下代码:query_post("post_type=product"); SO网友:Mark.C 在循环之前,您需要从特定的帖子类型查询帖子。因此,在您的作者存档页面或任何页面模板上,在循环之前添加以下内容:query_posts(array( \'post_type\' => \'book_posttype\', \'author_name\' => \'mark\' )); Query\\u posts也可以采用其他参数。http://codex.wordpress.org/Function_Reference/query_posts它可以使用与WP\\u query相同的参数。其中之一是author\\u name。http://codex.wordpress.org/Class_Reference/WP_Query#Parameters您还可以添加一个作者页面模板,将此查询放入其中并循环。这将是您的主题目录中的一个名为author mark的页面。php或任何名称。 结束 文章导航