У меня действительно есть пользовательская таксономия названной "странами". Как делают я получаю каждый термин (страна) с количеством ее опубликованных сообщений в скобках, как следующее:
Со следующим кодом отображено количество всех условий в таксономии "стран":
$countries_count = wp_count_terms( 'countries' );
echo $countries_count;
Но я просто знаю, что это - просто начальная точка моей проблемы. Какие-либо предложения?
Можно использовать get_terms
получить список всех терминов, связанных с таксономией. После того как у Вас есть все отдельные условия, можно использовать $term->name
отобразить название термина и $term->count
получать сумму сообщений в том конкретном термине.
Вот немного измененная версия кода, найденного в кодексе. Можно далее изменить вывод, как Вам нужно
<?php
$terms = get_terms('countries');
if ( !empty( $terms ) && !is_wp_error( $terms ) ){
echo '<ul>';
foreach ( $terms as $term ) {
echo '<li>' . $term->name . ' (' . $term->count . ')' . '</li>';
}
echo '</ul>';
}
?>
Править
Благодаря @Traveler вот другая версия моего кода при необходимости в ссылках, чтобы быть активируемыми по щелчку.
<?php
$terms = get_terms('countries');
if ( !empty( $terms ) && !is_wp_error( $terms ) ){
echo '<ul>';
foreach ( $terms as $term ) {
$term = sanitize_term( $term, 'countries' );
$term_link = get_term_link( $term, 'countries' );
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . ' (' . $term->count . ')' . '</a></li>';
}
echo '</ul>';
}
?>
Можно попробовать его Запросом WP. Я еще не протестировал его, поэтому сообщите мне, работает ли это.
$query = new WP_Query( array( 'taxonomy' => 'term', 'posts_per_page' => -1 ) );
$count = $query->post_count;
Я не могу протестировать это прямо сейчас, но попытаться получить все условия для "стран" и затем цикла через них и получить wp_count_terms для каждого из них.
$terms = get_terms("countries");
if ( !empty( $terms ) && !is_wp_error( $terms ) ){
echo "<ul>";
foreach ( $terms as $term ) {
$args = array( 'slug' => $term->slug, );
echo "<li>" . $term->name . "(" . wp_count_terms('countries', $args) . ")</li>";
}
echo "</ul>"; }