我已经创建了一个自定义的帖子类型“宣传册”,目前正在使用下面的代码显示(使用ACF显示宣传册文件)
此时,将分别显示所有小册子
我已经为这种帖子类型设置了一个称为“宣传册\\u类别”的自定义分类法,这样我就可以将宣传册分类到单独的文件夹中,如下所示
Brochure Category 1<小册子1小册子2小册子Brochure Category 2<小册子3小册子4小册子Brochure Category 3<小册子5小册子6小册子
我想显示所有的小册子类别,而不是显示所有的帖子(就像我用下面的代码所做的那样),当单击一个类别时,它会显示该类别中的帖子
我如何才能做到这一点?
<ul class="brochures">
<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query(\'showposts=18&orderby=title&order=ASC&post_type=brochures\'.\'&paged=\'.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
?>
<li><a target="_blank" href="<?php the_field(\'brochure_file\'); ?>"><img src="<?php the_field(\'brochure_logo\'); ?>"><h3><?php echo get_the_title(); ?></h3><h4>Click to view</h4></a>
</li>
<?php endwhile; ?>
<nav class="nextPrev">
<div class="prev"><?php previous_posts_link(\'« Previous\') ?></div>
<div class="next"><?php next_posts_link(\'Next »\') ?></div>
</nav>
<?php
$wp_query = null;
$wp_query = $temp; // Reset
?>
</ul>
SO网友:Djouuuuh
检索所有terms 附在分类“宣传册\\类别”中,您可以使用get_terms()
作用更多信息here.
获得术语后,您可以遍历它们并使用以下工具查询自定义帖子:
$query = new WP_Query( array(
\'post_type\' => \'brochures\',
\'brochure_categories\' => $current_category,
\'posts_per_page\' => -1,
\'order\' => \'ASC\',
\'orderby\' => \'title\',
) );
现在,您可以根据需要按类别显示它们。
对你合适吗?
SO网友:Ramcharan
try This Code Change taxonomy name which you are using
/**post type name: brochures **/
/** taxonomy name: brochures-cat **/
<?php
$custom_terms = get_terms(\'brochures-cat\');
foreach($custom_terms as $custom_term) {
wp_reset_query();
$args = array(
\'post_type\' => \'brochures\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'brochures-cat\',
\'field\' => \'slug\',
\'terms\' => $custom_term->slug,
),
),
);
$loop = new WP_Query($args);
if($loop->have_posts()) {
echo \'<h2>\'.$custom_term->name.\'</h2>\';
while($loop->have_posts()) : $loop->the_post();
echo \'<a href="\'.get_permalink().\'">\'.get_the_title().\'</a><br />\';
endwhile;
}
}
?>