即使分类法为空,也会显示自定义帖子类型

时间:2017-01-05 12:15:22

标签: wordpress custom-post-type advanced-custom-fields taxonomy

我正在使用 Custom Post Type 在不同页面中使用 Custom Taxonomy 来获取其内容。

但是,即使帖子类型没有分类,也会显示内容。

P.S。我正在使用 ACV 来获取分类法

字段

以下是代码:

<?php if( get_field('review_category_name') ):
    $taxonomy_slug = get_field('review_category_name');  //Advanced Custom Field here
 endif; ?>
<?php $args = array( 'post_type' => 'reviews','tax_query' => array(
        'taxonomy' => 'reviews_category',
        'field' => 'slug',
        'terms' => $taxonomy_slug,
    ), 'posts_per_page' => 5 );
        $loop = new WP_Query( $args ); ?>
<div class="">
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <h3><?php the_title(); ?></h3>
    <?php the_content(); ?>
</div>
<?php endwhile; ?>

我在这里遗漏了什么吗?

$taxonomy_slug 是获取自定义帖子类型slug的变量。

1 个答案:

答案 0 :(得分:1)

如果检查,请将get_field('review_category_name')中的所有内容包裹起来:

<?php if( get_field('review_category_name') ): ?>
<?php
    $taxonomy_slug = get_field('review_category_name');  //Advanced Custom Field here
    $args = array( 'post_type' => 'reviews','tax_query' => array(
            'taxonomy' => 'reviews_category',
            'field' => 'slug',
            'terms' => $taxonomy_slug,
    ), 'posts_per_page' => 5 );
    $loop = new WP_Query( $args );
?>
<div class="">
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <h3><?php the_title(); ?></h3>
    <?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>

PS你的例子错过了endwhile