因此,我创建了一个自定义帖子类型(位置)和一个自定义分类法(城市)。我正在尝试设置一个页面,其中列出了分类术语,后跟与该术语相关的任何帖子。但是,如果没有该任期的职位,那么什么都不会出现。
我想做一些类似的事情:
第1学期
第二学期
第三学期(空)
这学期没有帖子,我该怎么做?以下是我的代码(代码更新以反映以下评论中的建议):
<?php
$taxonomy = \'city\';
$args = array(
\'taxonomy\' => $taxonomy,
\'hide_empty\' => false,
\'orderby\' => \'count\',
\'order\' => \'DESC\',
);
$taxonomy_terms = get_terms( $args );
if ( $taxonomy_terms ) {
foreach ( $taxonomy_terms as $taxonomy_term ) {
$args = array(
\'post_type\' => \'location\',
\'posts_per_page\' => - 1,
\'hide_empty\' => false,
\'tax_query\' => array(
\'relation\' => \'AND\',
\'taxonomy\' => $taxonomy,
\'terms\' => $taxonomy_term->slug,
\'field\' => \'slug\',
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) : ?>
<h4><?php echo $taxonomy_term->name; ?></h4>
<div class="locations">
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<div class="location">
<div class="price"><a href="<?php the_permalink(); ?>"><?php the_field(\'price_per_month\'); ?> / month</a></div>
<a href="<?php the_permalink(); ?>">
<h3><?php the_field(\'street_address\'); ?></h3>
<h4><?php the_field(\'city\'); ?>, <?php the_field(\'state\'); ?></h4>
</a>
<a href="<?php the_field(\'google_map_link\'); ?>" rel="noreferrer" target="_blank"><i class="fal fa-map-marker-alt"></i> Google Maps</a>
</div>
<?php endwhile; ?>
</div>
<?php else : ?>
<h4><?php echo $taxonomy_term->name; ?> (Coming Soon)</h4>
<div class="locations">
<div class="location coming">
<h3></h3>
<h4></h4>
<a href="#" target="_blank"></a>
</div>
<div class="location coming">
<h3></h3>
<h4></h4>
<a href="#" target="_blank"></a>
</div>
</div>
<?php wp_reset_postdata();
endif;
}
}
?>
任何帮助都将不胜感激!
SO网友:Sébastien Serre
根据文件:https://developer.wordpress.org/reference/functions/get_terms/ WP 4.5中更改了获取条款的方式。保持开发的新方式总是好的。
也就是说,这个代码似乎在我这边起作用:
$taxonomy = \'city\';
$args = array(
\'taxonomy\' => $taxonomy,
\'orderby\' => \'count\',
\'order\' => \'DESC\',
);
$taxonomy_terms = get_terms( $args );
if ( $taxonomy_terms ) {
foreach ( $taxonomy_terms as $taxonomy_term ) {
$args = array(
\'post_type\' => \'location\',
\'posts_per_page\' => - 1,
\'hide_empty\' => false,
\'tax_query\' => array(
\'relation\' => \'AND\',
\'taxonomy\' => $taxonomy,
\'terms\' => $taxonomy_term->slug,
\'field\' => \'slug\',
),
);
我通常使用
https://generatewp.com/wp_query/ 生成我的查询。