我试图隐藏具有特定类别的帖子,但当一篇帖子被隐藏时,它会显示为空行。我试图绕过我的条件语句,但它只是破坏了我的逻辑或页面结构。
如何隐藏行(<div class"row episodes-feed-wrap">
) 如果类别为\'daily-email\'
?
这是我的代码:
<div class="col-md-9" style="padding:0;">
<div class="episodes-feed">
<div class="container-fluid">
<?php $catquery = new WP_Query(array(
\'orderby\' => \'date\',
\'order\' => \'DESC\'
)); ?>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<?php $backgroundImg = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'large\' );?>
<?php
$post_term_objects = wp_get_post_terms( $post->ID, \'category\' );
$post_terms = [];
foreach ( $post_term_objects as $post_term_object ) {
$post_terms[] = $post_term_object->slug;
}
?>
<div class="row episodes-feed-wrap">
<?php if ( ! in_array( \'stories\', $post_terms, false) &! in_array(\'blog\', $post_terms, false) &! in_array(\'daily-email\', $post_terms, false)) : ?>
<div class="col-4 episodes-feed-thumb">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php echo get_the_post_thumbnail( $post->ID, \'large\' ); ?>
</a>
</div>
<div class="col-8 featured-article">
<div class="container" style="padding:0;">
<h4 class="episodes-feed-cat">
<?php $categories = get_the_category();
if ( ! empty( $categories ) ) {
echo \'<a href="\' . esc_url( get_category_link( $categories[0]->term_id ) ) . \'">\' . esc_html( $categories[0]->name ) . \'</a>\';
}?>
</h4>
<a href="<?php the_permalink() ?>" rel="bookmark">
<h2 class="episodes-title">
<?php the_title(); ?>
</h2>
</a>
<div class="episodes-excerpt">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php echo excerpt(25); ?>
</a>
</div>
<div class="episodes-feed-info-wrap">
<div class="episodes-feed-author">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_author(); ?> • <?php echo meks_time_ago(); /* post date in time ago format */ ?>
</a>
</div>
</div>
</div><!-- end container -->
</div>
<?php elseif(! in_array(\'daily-email\', $post_terms, false)) : ?>
<div class="col-4 episodes-feed-thumb">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php echo get_the_post_thumbnail( $post->ID, \'large\' ); ?>
</a>
</div>
<div class="col-8 featured-article">
<div class="container" style="padding:0;">
<h4 class="episodes-feed-cat">
<?php $categories = get_the_category();
if ( ! empty( $categories ) ) {
echo \'<a href="\' . esc_url( get_category_link( $categories[0]->term_id ) ) . \'">\' . esc_html( $categories[0]->name ) . \'</a>\';
}?>
</h4>
<a href="<?php the_permalink() ?>" rel="bookmark">
<h2 class="episodes-title">
<?php the_title(); ?>
</h2>
</a>
<div class="episodes-excerpt">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php echo excerpt(25); ?>
</a>
</div>
<div class="episodes-feed-info-wrap">
<div class="episodes-feed-author">
<a href="<?php the_permalink() ?>" rel="bookmark">
bloggy and storrieies
<?php the_author(); ?> • <?php echo meks_time_ago(); /* post date in time ago format */ ?>
</a>
</div>
</div>
</div><!-- end container -->
</div>
<?php endif; ?>
</div>
<?php endwhile;
wp_reset_postdata();
?>
</div>
</div>
</div><!-- end col 9 -->
最合适的回答,由SO网友:disinfor 整理而成
只需像这样包装开始和结束div:
<?php if ( ! in_array( \'daily-email\', $post_terms, false ) ) : ?>
<div class="row episodes-feed-wrap">
....... all your content and markup ........
</div><!-- /this is your closing row div tag -->
<?php endif ?>
或者,如果您根本不想输出该类别,请更改
$args
对此:
$catquery = new WP_Query( array(
\'orderby\' => date,
\'order\' => \'DESC\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'category\',
\'field\' => \'slug\',
\'terms\' => \'daily-email\',
\'operator\' => \'NOT IN\',
)
),
));
这将删除所有
daily-email
来自循环的帖子。