Php 从博客中按名称排除Wordpress类别

Php 从博客中按名称排除Wordpress类别,php,wordpress,Php,Wordpress,我有一个WP博客,上面有一个分类列表。我有一个特定的模板,它被应用到一个名为“新闻”的类别,这是所有的罚款和工作,但现在我需要确保,在这个类别的帖子不包括在主博客。我试过几次,但都不管用。有什么建议吗 由于我正在开发一个dev/test/prod环境,这些环境都是由不同的人设置的(…le sigh…),相同的类别都有不同的id,所以我希望通过类别名称来完成 干杯 T从循环中排除类别非常简单,只需将类别ID作为参数传递,例如,要排除ID为3和8的类别: <?php query_posts('

我有一个WP博客,上面有一个分类列表。我有一个特定的模板,它被应用到一个名为“新闻”的类别,这是所有的罚款和工作,但现在我需要确保,在这个类别的帖子不包括在主博客。我试过几次,但都不管用。有什么建议吗

由于我正在开发一个dev/test/prod环境,这些环境都是由不同的人设置的(…le sigh…),相同的类别都有不同的id,所以我希望通过类别名称来完成

干杯


T

从循环中排除类别非常简单,只需将类别ID作为参数传递,例如,要排除ID为3和8的类别:

<?php query_posts('cat=-3,-8'); ?>

在您的情况下,不可能按类别的名称排除类别(category_name参数)

如果在多环境情况下更容易使用插件,您也可以尝试使用插件:
谢谢吉安尼斯。我知道我可以用query\u posts负类别类型来完成。谢谢你让我走上正轨

我必须从类别名称中去掉它,这是这个查询的唯一规定。为此,我从名称中获取了类别id:

$exclude = get_cat_ID('News');
$q = 'cat=-'.$exclude;
query_posts($q);
把这个放在loop.php的顶部,解决了我的问题


再次感谢大家,亲爱的

我做这件事的方式完全不同,而且只使用slug,因此:

$featured_args = array(
    'post_type' => 'news', // I have a custom post type, 'news'
    'tax_query' => array (
        array(
            'taxonomy' => 'subject', // I have a custom taxonomy, 'subject'
            'field' => 'slug',
            'terms' => array('politics', 'economy-and-business', 'disasters'), 
            'operator' => 'NOT IN' // This operator ensures that the values listed in 'term' are excluded
        )
    ),
    'post_status' => 'publish',
);

$featured_query = new WP_Query($featured_args);
请注意,存在一个名为tax\u query的数组条目,它还包含另一个数组,该数组包含一个名为操作符的参数,该操作符的值为NOT IN,该值将排除项中的值,而不是包含它们

重要提示:请注意,如果一篇文章有两个分类术语,并且其中一个术语在要排除的术语列表中,那么这将不是结果的一部分


有关更多详细信息,请阅读此处:

感谢@Greeso!获得3D对象阵列内容的反馈总是很好!老实说,这适合更大、更复杂的生物体。我使用的解决方案很小,适合我非常有限的需要。我知道网站的确切内容,因此更容易使用。但是谢谢你的帮助,这可能会帮助有更大规模需求的人!能否更具体地说明一下在loop.php中插入此代码的位置?可能会显示一些周围的代码?它在循环之前。它用于定义查询。