不支持您的安装程序WP_Query
.
一种方法是使用posts_where
的筛选器WP_Query
(还有其他可能的方法,比如从不同的查询中收集帖子ID)来调整SQL查询。
为了避免字符串替换,我们可以使用例如:
$custom_query_args = [
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
];
// Add filter
add_filter( \'posts_where\', \'wpse_where\' );
// Query
$custom_query = new WP_Query( $custom_query_args );
// Remove filter
remove_filter( \'posts_where\', \'wpse_where\' );
其中,自定义筛选器回调为:
function wpse_where( $where )
{
global $wpdb;
return $where . " OR (
{wpdb->posts}.post_author = 2
AND {wpdb->posts}.post_status = \'publish\'
AND {wpdb->posts}.post_type = \'post\'
) ";
}
希望您可以根据自己的需要进行调整。