由于WP\\u Query在本机上不允许您执行逻辑或操作(除了对元数据),因此一个选项是只运行两个查询来获取所有的Post ID,然后将它们传递给一个新的WP\\u查询,您可以将其用于循环。这相当长,需要3个查询,因此可能有人会知道一个较短的解决方案
此代码取自示例here, 未经测试。您可能需要根据您的用例对其进行调整,特别是我不确定“mlo类别”是什么,因此您可能需要将其转换为更好的WP_Query parameter
$postsCurrentUser = get_posts(array(
\'author\', "$current_user->id");
));
$postsCategory = get_posts(array(
\'mlo-category\', "license"
));
$mergedPosts = array_merge( $postsCurrentUser, $postsCategory ); //combine queries
$postIds = array();
// Find any post ID that is in one array or the other, don\'t include any twice
foreach( $mergedPosts as $item ) {
if (!in_array($item->ID, $postIds)) {
$postIds[]=$item->ID;
}
}
$args = array(\'post__in\' => $postIds);
$q = WP_Query($args);
如果这符合你的要求,请告诉我