我使用创建了一个自定义循环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();
在我的循环中,尝试指定通过当前选定类别显示的帖子,但未成功。
假设我没有正确使用这些功能,当用户单击菜单中的特定类别时,如何显示当前类别的帖子?
最合适的回答,由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();
希望上面的代码能够解决这个问题。