我想展示A、B、C、D类的帖子。。。和Y,除了X,除非X中的帖子也在Y中,然后将它们与其余的一起显示。
我可以很简单地隐藏类别X:
$args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => 15,
\'paged\' => $paged,
\'cat\' => \'-X\',
);
我试过了combine two loops, 一个获取除X之外的所有帖子,另一个获取X和Y中的帖子,但似乎不起作用:$EverythingButXLoop_args = array(
\'post_type\' => \'post\',
\'cat\' => \'-X\',
);
$EverythingButXLoop = new WP_Query( $EverythingButXLoop_args );
$OnlyXwithYLoop_args = array(
\'post_type\' => \'post\',
\'category_name\' => \'categoryX+categoryY\',
);
$OnlyXwithYLoop = new WP_Query( $OnlyXwithYLoop_args );
$mainLoop_args = array(
\'posts_per_page\' => 15,
\'paged\' => $paged,
);
$mainLoop = new WP_Query( $mainLoop_args );
$mainLoop->posts = array_merge( $EverythingButXLoop->posts, $OnlyXwithYLoop->posts );
//populate post_count count for the loop to work correctly
$mainLoop->post_count = $EverythingButXLoop->post_count + $OnlyXwithYLoop->post_count;
我还考虑过在一个var中获取所有类别ID(而不是列出我的许多其他类别中的每一个),并将其与类别参数一起使用,以排除X中的帖子。。。不知何故,即。\'cat\' => $categoryIDs, \'category__not_in\' => \'X\'
但我认为我仍然面临着最初的问题:excluding X, except when in X and Y你知道上面的组合技术有什么不起作用,或者我如何用另一种(更好的)方法来实现这一点吗?提前感谢!