所以我有类别A,B,C和D.还有类别1,2,3和4.我的帖子可以属于这四个类别中的任何一个。但是我想从主页(并且只从主页)中排除B,4和D类中的任何内容,即使它们也属于其他类别。
我一直在尝试插件和自定义代码以及谷歌搜索几个小时,我只是无法让它工作。最后一批尝试是对此的变化:
<?php $query = new WP_Query( 'cat=-32,-99' ); ?>
<?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
<?php if (! in_category ('-32')); ?>
<?php x_get_view( 'ethos', 'content', get_post_format() ); ?>
<?php endif; ?>
<?php endwhile;
wp_reset_postdata();
else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
欢迎任何建议。
我想出了pre_get_posts应该如何处理来自其他地方的推荐。这就是我现在所拥有的,它仍然没有用... gist.github.com/megantaylor/fb86fb9cfc026208b928
答案 0 :(得分:0)
只看代码,这一行:
if (! in_category ('-32'));
看起来有点奇怪。
首先,它看起来像一个双重否定 - 它不属于32类。
此外,您可以将ID作为字符串'-32'
传递吗? - 文档建议id应该是一个整数。
这有什么用?
编辑:
此外,您的if
应该以冒号结尾,所以:
if(!in_category(32)):