问题描述
我已经创建了一个自定义帖子类型,该模板可以在模板中显示帖子,并带有显示类别的导航。
在导航中选择类别时,如何仅显示当前类别的帖子?
我尝试过的方法不起作用:
register_post_type( 'products',array(
'labels' => array(
'name' => __( 'Products' ),'singular_name' => __( 'Products' )),'public' => true,'has_archive' => true,'rewrite' => array('slug' => 'products'),'taxonomies' => array('category'),'supports' => array( 'title','editor','thumbnail' ),)
);
模板以显示来自CPT的所有帖子
<?PHP
/* Template Name: Products */
get_header();
?>
<main role="main">
<?PHP $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID),'full' );?>
<div class="jumbotron" data-parallax="scroll" data-image-src="<?PHP echo $thumb['0'];?>">
<div class="overlay"></div>
</div>
<div class="main-content-wrap">
<div class="container">
<div class="row">
<div class="col-md-3">
<nav class="navbar navbar-expand-md navbar-light sidebar">
<div class="active-menu-item"></div>
<button class="hamburger hamburger--collapse navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#side-menu" aria-controls="side-menu" aria-expanded="false" aria-label="Toggle navigation"></button>
<div class="collapse navbar-collapse" id="side-menu">
<?PHP
$defaults = array(
'theme_location' => 'products-nav','container' => 'false','menu_class' => 'nav navbar-nav','depth' => 2,'walker' => new WP_Bootstrap_Navwalker()
);
wp_nav_menu($defaults);
?>
</div>
</nav>
</div>
<div class="col-md-9">
<?PHP $args = array( 'post_type' => 'products','posts_per_page' => 30,'order' => 'ASC' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="col-md-3" id="item-<?PHP the_ID(); ?>">
<a href=" <?PHP the_permalink(); ?>">
<?PHP the_post_thumbnail(); ?>
<?PHP the_title('<h4>','</h4>'); ?>
</a>
</div>
<?PHP endwhile; ?>
</div>
</div>
</div> <!-- /container -->
</div>
</main>
<?PHP get_footer(); ?>
category.PHP
<?PHP get_header(); ?>
<main role="main">
<?PHP $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID),'walker' => new WP_Bootstrap_Navwalker()
);
wp_nav_menu($defaults);
?>
</div>
</nav>
</div>
<div class="col-md-9">
<ul>
<?PHP
foreach( ( get_the_category() ) as $category ) {
$the_query = new WP_Query('category_name=' . $category->category_nicename . '&showposts=10&order=ASC&post_type="products"');
while ($the_query->have_posts()) : $the_query->the_post();
?>
<li>
<a href="<?PHP the_permalink(); ?>">
<?PHP the_title(); ?>
</a>
</li>
<?PHP endwhile; ?>
<?PHP
}
?>
</ul>
</div>
</div>
</div> <!-- /container -->
</div>
</main>
<?PHP get_footer(); ?>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)