循环中显示的排除的自定义分类术语帖子

时间:2020-06-04 作者:theartist

我创建了一个名为“careers”的自定义帖子类型,以及一个名为“careers\\u categories”的自定义帖子类型分类法。在这个分类法中,我有一个术语叫做“特色”。我的目的是排除循环中包含术语“特色”且术语ID为60的所有帖子,这些术语将显示在存档职业中。php和我正在使用ISOTOPE PLUGIN 为附带的帖子创建过滤器。我还想在页面顶部的英雄中显示“特色”帖子。这些术语显示为链接,过滤与下面查询中附带的帖子一起工作。“特色”术语未显示为链接,但与该术语关联的帖子仍在显示。需要注意的是,包含“特色”一词的帖子也可以包含另一个术语,如“graphic\\u design”,我希望它们显示在第二个术语下。请参阅下面的我的代码:

<?php get_header(); ?>



<div class="container">
    <div class="row">
        <div class="fl-content col-lg-12">

            <?php $terms =
            get_terms( array(
                    \'taxonomy\'   => \'careers_categories\',
                    \'hide_empty\' => true,
                            \'exclude\'=> \'60\',
            ));?>


            <div class="hero">
                <?php if( has_term(\'\', \'featured\') ){
                    the_title();
                }?>

            </div>
            <?php if( $terms ) {
            ?>
            <ul id="my-category" class="filter clearfix">
                <li><a href="#" class="active" data-filter="*"><span>All</span></a></li>
                <?php foreach( $terms as $term ){
                    echo "<li><a href=\'#\' data-filter=\'.$term->slug\'><span>$term->name</span></a></li>";
                } ?>
            </ul>
            <?php }


                        if( have_posts() ) { ?>
            <div id="cpt-wrap" class="clearfix filterable-cpt  grid" data-isotope=\'{ "itemSelector": ".grid-item", "layoutMode": "fitRows" }\'>
                <div class="cpt-content">




                    <?php while( have_posts() ): the_post(); ?>



                    <?php $terms = get_the_terms( get_the_ID(), \'careers_categories\' ); ?>

                    <?php
                    global $post; ?>
                    <article class="grid-item cpt-item <?php if( $terms ) foreach ( $terms as $term ) { echo $term->slug.\' \'; }; ?>">
                        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
                            <?php
                                if ( has_post_thumbnail($post->ID) ) {
                                echo the_post_thumbnail();
                                } ?>
                            <h3><?php the_title(); ?></h3>
                        </a>
                    </article>


                    <?php endwhile; ?>



                </div>
            </div>
            <?php } ?>
        </div>
    </div>
</div> 


<?php get_footer();

1 个回复
SO网友:Baikare Sandeep

尝试以下方法:

尝试在数组中添加术语ID,如下所示\'exclude\'=> \'60\' 在阵列中

如果这不起作用,您可以尝试以下方法WP_Query 循环:

 $args = array(
        \'post_type\' => \'careers\',
        \'tax_query\' => array(
            \'relation\' => \'AND\',
            array(
                \'taxonomy\' => \'careers_categories\',
                \'field\'    => \'term_id\',
                \'terms\'    => array( 60),
                \'operator\' => \'NOT IN\',
            ),
        ),
    );
    $query = new WP_Query( $args );

相关推荐

do_action not working in loop

我一直在使用do\\u action在循环中生成多个动作挂钩。对我来说,do\\u操作不起作用似乎很不幸。function ltc_generate_input_fields($fields = array()) { echo \"Hello World\"; if (empty($fields) || !is_array($fields)) return; foreach($fields as $field) { &#