开箱即用无法做到这一点,因为每个学期的职位数量都是单数,没有按职位类型细分。
为了做到这一点,您需要自己输出标记,并自己查询计数。
This will be slow/heavy/expensive.
因此,首先我们从当前的术语/分类法开始:
$category_object = get_queried_object();
$current_category_taxonomy = $category_object->taxonomy;
$current_category_term_id = $category_object->term_id;
$current_category_name = $category_object->name;
然后我们获取所有非空的子术语:
$children = get_terms(
[
\'taxonomy\' => $current_category_taxonomy,
\'parent\' => $category_object->term_id,
]
);
并在每个术语上循环:
foreach ( $children as $child ) {
//
}
现在,在这个循环中,我们需要检查有多少帖子属于您的特定帖子类型,比如
changeme
岗位类型:
$args = [
\'post_type\' => \'changeme\',
$term->taxonomy => $child->term_id,
\'posts_per_page\' => 1,
];
$q = new WP_Query( $args );
if ( $q->have_posts() ) {
echo \'<li>\' . esc_html( $term->name ) . \' ( \'. intval( $q->found_posts ) . \' ) </li>\';
}
注意,我们使用了
found_posts
参数在这一点上,只需将整个事情包装在
<ul>
标记,并展开标记以匹配所需内容。循环中有一个术语对象,可以用来打印URL等。
不要忘记,这是昂贵的/缓慢的/沉重的,您可能会希望缓存它,可能使用瞬态,或者如果您有对象缓存或弹性搜索存在。
或者,您可以注册另一个特定于此帖子类型的分类法,并避免所有这些。