组合搜索作者&自定义帖子类型

时间:2014-02-07 20:51:26

标签: wordpress search

我搜索过与我类似的问题,但没有找到我需要的答案。

我有作者,我有自定义帖子类型(CPT)。我的搜索结果已经显示所有CPT - 但是,另外,我需要一些比这更具体的东西。我需要我的搜索功能来允许特定作者和特定CPT的组合查询。例如,阿尔伯特爱因斯坦的所有博客。

这个网址“/?s =%20& author_name = alberteinstein”返回阿尔伯特爱因斯坦所有CPT的帖子。

但如果我为完整的网址添加“& post_type = blogs”来过滤CPT,就像这样:

“/?s =%20& author_name = alberteinstein& post_type = blogs”

它不仅仅过滤博客 - 它仍然由作者返回所有CPT,与上述相同。

我需要能够查询作者和特定的CPT。

这让我疯狂了几个星期。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助(如WordPress Codex post types page所述)。基本上,可能是您的自定义帖子类型(CPT)未注册存档查询,尽管它已合法注册用作CPT。

注册自定义帖子类型并不意味着它会自动添加到主查询中。如果您希望自定义帖子类型的帖子显示在标准档案中,或者将它们包含在与其他帖子类型混合的主页上,请使用pre_get_posts操作挂钩。

// Show posts of 'post', 'page' and 'movie' post types on home page
add_action( 'pre_get_posts', 'add_my_post_types_to_query' );

function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'page', 'movie' ) );
    return $query;
}