我使用pre_get_posts操作查询
但我想显示多个作者的帖子。
这些是我使用的"author__in“。
$query->set('author__in', [53, 285]);但是我的查询仍然使用2个post_author参数运行。我怎么能排除第二个呢?
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
WHERE 1=1
AND wp_posts.ID IN (349956,327745,177707)
AND wp_posts.post_author IN (53,285)
AND (wp_posts.post_author = 53)
AND wp_posts.post_type = 'post'
ORDER BY wp_posts.post_date DESC
LIMIT 0, 10发布于 2018-10-11 22:09:02
有多种作者过滤器可用:https://codex.wordpress.org/Class_Reference/WP_Query#Author_Parameters
添加新的过滤器不会删除其他过滤器-因此您需要删除原始的作者过滤器。您可以使用以下代码来完成此操作:
unset( $query->query_vars['author'] ); https://stackoverflow.com/questions/52761416
复制相似问题