我搜索过与我类似的问题,但没有找到我需要的答案。
我有作者,我有自定义帖子类型(CPT)。我的搜索结果已经显示所有CPT - 但是,另外,我需要一些比这更具体的东西。我需要我的搜索功能来允许特定作者和特定CPT的组合查询。例如,阿尔伯特爱因斯坦的所有博客。
这个网址“/?s =%20& author_name = alberteinstein”返回阿尔伯特爱因斯坦所有CPT的帖子。
但如果我为完整的网址添加“& post_type = blogs”来过滤CPT,就像这样:
“/?s =%20& author_name = alberteinstein& post_type = blogs”
它不仅仅过滤博客 - 它仍然由作者返回所有CPT,与上述相同。
我需要能够查询作者和特定的CPT。
这让我疯狂了几个星期。任何帮助将不胜感激。
答案 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;
}