仅显示当前类别帖子

时间:2016-11-08 作者:WeebleWobb

我使用创建了一个自定义循环WP_Query 显示与我创建的自定义帖子类型关联的帖子。

<?php
  $the_query = new WP_Query( array (
    \'post_type\'     =>      \'scp_content\'
  ));
?>

<?php 
  if( $the_query->have_posts() ) : while( $the_query->have_posts() ) :  $the_query->the_post(); ?>

    <section id="post-<?php the_id(); ?>" class="main-content">
      <h2><?php the_field( \'section_heading\' ); ?></h2>
      <div class="container-fluid col-lg-9">
        <p><?php the_field( \'section_content\' ); ?></p>
      </div>
    </section>

<?php endwhile; endif; wp_reset_postdata(); ?>
每个帖子都分配了一个特定的类别,当通过我创建的类别菜单单击所述类别时,可以查看所有分类的帖子。

The issue: 无论我点击哪个类别,我都会显示所有帖子。我已尝试实施:get_category();, get_query_var();, get_the_category();is_category(); 在我的循环中,尝试指定通过当前选定类别显示的帖子,但未成功。

假设我没有正确使用这些功能,当用户单击菜单中的特定类别时,如何显示当前类别的帖子?

1 个回复
最合适的回答,由SO网友:Syed Fakhar Abbas 整理而成

使用该功能get_the_category(); 在WordPress循环中传递get_the_ID() 函数,该函数将获取循环中的当前帖子ID。

get_the_ID() 将返回帖子id,而the_id(); 将只显示。


if( $the_query->have_posts() ) : while( $the_query->have_posts() ) :  $the_query->the_post();

     $category_array = get_the_category( get_the_ID() );

     print_r( $category_array );

  endwhile; 

 endif; 

wp_reset_postdata();
希望上面的代码能够解决这个问题。