如何排除特定类别的帖子?

时间:2018-12-29 00:43:51

标签: php wordpress

我显示来自“事件”记录的自定义类型的帖子,将其显示在标题下,并且在下面进行相同的操作,但是我需要排除上面已经推断出标题的帖子。 这是我的结论,如何排除带有“即将来临的事件”的帖子和标题?

<?php $wp_queryy = new WP_Query( array( 'post_type' => 'event','posts_per_page'=>'9','paged'=>$paged));
					if ($wp_queryy->have_posts()) : while ($wp_queryy->have_posts()) : $wp_queryy->the_post();?>

		<div class="top-event-block">
			<div class="upcoming-data"><?php echo get_the_date("M j, Y");?></div>
			<div class="upcoming-title"><?php the_title(); ?></div>
			<div class="upcoming-exp"><?php the_excerpt();?></div>
			<div class="upcoming-read-more"><a href="<?php echo the_permalink(); ?>">Read more</a></div>
		</div>

<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>

我试图插入查询中

'cat'=>'-28'

'cat'=>'-即将来临的事件'

'exclude_category'=>'28'

'exclude_category'=>'即将发生的事件'

'category__not_in'=>数组(28)

1 个答案:

答案 0 :(得分:0)

当您使用自定义帖子类型时,您的参数将不起作用。您需要为其编写分类法查询。以下代码可能会对您有所帮助,只需添加您的分类名称[例如:product_category] ​​

<?php 
            $args['post_type']='event';
            $args['posts_per_page']=9;
            $args['paged']=$paged;
            $args['tax_query'] = array(
                array(
                    'taxonomy' => 'event-category', //replace with your taxonomy name
                    'field' => 'slug',
                    'terms' => 'upcomingevents',
                    'include_children' => true,
                    'operator' => 'NOT_IN'
                )
            );
            $wp_queryy = new WP_Query($args);
                    if ($wp_queryy->have_posts()) : while ($wp_queryy->have_posts()) : $wp_queryy->the_post();?>

        <div class="top-event-block">
            <div class="upcoming-data"><?php echo get_the_date("M j, Y");?></div>
            <div class="upcoming-title"><?php the_title(); ?></div>
            <div class="upcoming-exp"><?php the_excerpt();?></div>
            <div class="upcoming-read-more"><a href="<?php echo the_permalink(); ?>">Read more</a></div>
        </div>

<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>