我想在查询中使用pre_get_posts。我的代码如下:
public static function getAuthorArticles($query) {
if ($query->is_author() && $query->is_main_query()):
$author = get_user_by('slug', get_query_var( 'author_name' ));
$authorID = $author->ID;
$authorPostIDs = self::getAuthorsPostIDs($authorID);
$coAuthorPostIDs = self::getCoAuthorsPostsIDs($authorID);
$postIDs = array_unique(array_merge($coAuthorPostIDs, $authorPostIDs), SORT_REGULAR);
if(get_query_var('paged')):
$paged = get_query_var('paged');
elseif (get_query_var('page')):
$paged = get_query_var('page');
else:
$paged = 1;
endif;
$query->set('post_type', 'any');
$query->set('paged', $paged);
$query->set('post__in', $postIDs);
$query->set('orderby', 'date');
$query->set('order', 'DESC');
endif;
}
add_action('pre_get_posts', __CLASS__ . '::getAuthorArticles');
在$ postIDs数组中,是共同作者文章的文章ID。 但是它仍然不会显示由哪个作者指定为共同作者的帖子。它仅显示作者撰写的帖子。我确定在postIDs数组中可以找到正确的ID。
有人可以提出建议吗?