Типы записей и таксономии в виджете «На виду» («Прямо сейчас») в консоли
Произвольные типы записей в WordPress продолжают набирать обороты и сегодня это уже неотъемлемый атрибут в каждом втором сайте на WordPress. Поговаривают даже что, этот виток развития способен создать серьезную конкуренцию такой крутой CMS, как Drupal. Но мы то с вами знаем...
Так вот, создавать произвольные типы записей мы уже умеем и даже умеем создавать таксономии и прикручивать их к произвольным типам записей, а как выводить статистику всего этого созданного в консоли WordPress в виджете "Прямо сейчас", пока не знаем.
Надо исправить сей пробел в знаниях и дополнить виджет "Прямо сейчас" прямо сейчас. Для этого вставим в functions.php такой код:
## Добавляем все типы записей в виджет "Прямо сейчас" в консоли
add_action( 'dashboard_glance_items' , 'add_right_now_info' );
function add_right_now_info( $items ){
if( ! current_user_can('edit_posts') ) return $items; // выходим
// типы записей
$args = array( 'public' => true, '_builtin' => false );
$post_types = get_post_types( $args, 'object', 'and' );
foreach( $post_types as $post_type ){
$num_posts = wp_count_posts( $post_type->name );
$num = number_format_i18n( $num_posts->publish );
$text = _n( $post_type->labels->singular_name, $post_type->labels->name, intval( $num_posts->publish ) );
$items[] = "<a href=\"edit.php?post_type=$post_type->name\">$num $text</a>";
}
// таксономии
$taxonomies = get_taxonomies( $args, 'object', 'and' );
foreach( $taxonomies as $taxonomy ){
$num_terms = wp_count_terms( $taxonomy->name );
$num = number_format_i18n( $num_terms );
$text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms ) );
$items[] = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num $text</a>";
}
// пользователи
global $wpdb;
$num = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
$text = _n( 'User', 'Users', $num );
$items[] = "<a href='users.php'>$num $text</a>";
return $items;
}
После того как мы вставим этот код у нас получится примерно такая картина:
Объяснять как и что работает пожалуй не буду, кому нужно разберутся, кто не может разобраться — ставьте плагин, упомянутый ниже.
Еще фильтры, которые можно использовать в виджете «На виду» в консоли.
-
rightnow_end — конец виджета (место где написано: you are using WordPress3.2).
- activity_box_end — конец виджета (место где написано: you are using WordPress3.2).