Удалить идентификатор автора из запроса - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть сообщения, в которых автор назначен соавтором. Если я хочу показать их на странице моего автора, их нет в списке. Из-за этого условия в запросе:

AND (wp_posts.post_author = 53)

Как я могу удалить это? Или есть лучшее решение?

public static function pre_get_posts($query)
{
  if ($query->is_author() && $query->is_main_query()):
    $author = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
    $authorPostIDs = self::getAuthorsPostIDs($author->ID);
    $coAuthorPostIDs = self::getCoAuthorsPostsIDs($author->ID);
    $postIDs = array_unique(
      array_merge($coAuthorPostIDs, $authorPostIDs), SORT_REGULAR
    );

    $query->set('post__in', $postIDs);
    $query->set('post_status', 'publish');
  endif;
}

Мой полный запрос:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
WHERE 1=1
AND wp_posts.ID IN (349956,327745)
AND (wp_posts.post_author = 53)
AND wp_posts.post_type = 'post'
AND ((wp_posts.post_status = 'publish'))
ORDER BY wp_posts.post_date DESC
LIMIT 0, 10
...