我使用下面的代码显示空子类别,其中没有任何帖子,我想隐藏这些。如果有可能,请允许我,如果是,那么如何
<?php
$term = get_queried_object();
$term_id = $term->term_id;
$taxonomy_name = $term->taxonomy;
$termchildren = get_term_children( $term_id, $taxonomy_name );
echo '<ul>';
foreach ( $termchildren as $child ) {
$term = get_term_by( 'id', $child, $taxonomy_name );
echo '<li><a href="' . get_term_link( $term, $taxonomy_name ) . '">' . $term->name.' ('. $term->count. ')</a></li>';
}
echo '</ul>';
?>
非常感谢提前
您可以使用$term->count
检查它是否有任何帖子。
foreach ( $termchildren as $child ) {
$term = get_term_by( 'id', $child, $taxonomy_name );
if($term->count > 0){
echo '<li><a href="' . get_term_link( $term, $taxonomy_name ) . '">' . $term->name.' ('. $term->count. ')</a></li>';
}
}
我有另一个解决方案
$termchildren = get_terms( $taxonomy_name, array( 'hide_empty' => true, 'parent' => $term_id ) );
您可以使用术语计数来检查空类别
$term = get_queried_object();
$term_id = $term->term_id;
$taxonomy_name = $term->taxonomy;
$termchildren = get_term_children( $term_id, $taxonomy_name );
echo '<ul>';
foreach( $termchildren as $child ) {
$term = get_term_by( 'id', $child, $taxonomy_name );
if( $term->count > 0 ) {
echo '<li><a href="' . get_term_link( $term, $taxonomy_name ) . '">' . $term->name.' ('. $term->count. ')</a></li>';
}
}
echo '</ul>';