从查询中删除作者ID

时间:2018-09-13 11:37:12

标签: wordpress wordpress-theming custom-wordpress-pages

我有一些帖子,其中作者被指定为共同作者。如果我想在我的作者页面上显示它们,则不会列出它们。由于查询中的这种情况:

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

0 个答案:

没有答案