从循环中排除自定义分类标记

时间:2012-02-12 作者:Sarah

我在循环的开头有以下代码:

<?php query_posts(\'showposts=3&cat=84\'); ?>
<?php $posts = get_posts(\'category=84&numberposts=3&offset=0\'); foreach ($posts as $post) : start_wp(); ?>
我有一个名为“display”的自定义分类法,还有一个名为“featured slider”的标记在这个循环中,我想包括category 84中的所有内容,但我想排除“display”分类法中具有“featured slider”值的所有内容。

如何重写上面的两行(query\\u posts和get\\u posts)以正确排除自定义分类法?

非常感谢。

1 个回复
SO网友:Evan Yeung

我已经重写了query_posts. 至于get_posts 您最好使用WP\\u查询,因为可以更好地控制tax\\u查询。Explained here.

<?php
$args = array(
    \'cat\' => 84,
    \'posts_per_page\' => 3,
    \'offset\' => 0,
    \'tax_query\' => array(
        \'relation\' => \'NOT IN\',
        array(
            \'taxonomy\' => \'display\',
            \'field\' => \'slug\',
            \'terms\' => \'featured-slider\'
        )
    )
);
$wpse42083_query = new WP_Query( $args );
while( $wpse42083_query->have_posts() ) : $wpse42083_query->the_post();
    // write post stuff in here
endwhile;

// Reset Post Data
wp_reset_postdata();
?>
编辑:我添加了用法。

结束

相关推荐

Custom Taxonomy Tree view

我一直在用谷歌搜索这个,但搜索起来并不容易。我有一个自定义的层次分类法,大致如下:Chainsaws - Electric - Petrol - Other Grasscutters - Electric - Petrol - Other 我需要做的是创建一个索引页,保留层次结构。我最接近的方法是:$products = get_terms(\'product-type\'); foreach ($products as $prod