Произвольные типы записей в WordPress продолжают набирать обороты и сегодня это уже неотъемлемый атрибут в каждом втором сайте на WordPress. Поговаривают даже что, этот виток развития способен создать серьезную конкуренцию такой крутой CMS как Drupal. Но мы то знаем, что это черный пиар и то, что умеет Drupal, WordPress'у пока только снится. Имею ввиду производительность.
Так вот, создавать произвольные типы записей мы уже умеем и даже умеем создавать таксономии и прикручивать их к произвольным типам записей, а как выводить статистику всего этого созданного в консоли WordPress в виджете "Прямо сейчас", пока не знаем. Если знаете, то дальше можете не читать.
Давайте заполним этот пробел в знаниях и дополним виджет "Прямо сейчас" прямо сейчас
Для этого вставим в functions.php код:
/* Добавляем количество записей всех типов записей в виджет консоли "Прямо сейчас" */
add_action( 'right_now_content_table_end' , 'add_right_now_info' );
function add_right_now_info() {
$args = array( 'public' => true, '_builtin' => false );
$output = 'object';
$operator = 'and';
$post_types = get_post_types( $args, $output, $operator );
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 ) );
if ( current_user_can( 'edit_posts' ) ) {
$num = "<a href='edit.php?post_type=$post_type->name'>$num</a>";
$text = "<a href='edit.php?post_type=$post_type->name'>$text</a>";
}
echo '<tr><td class="first b b-' . $post_type->name . '">' . $num . '</td>';
echo '<td class="t ' . $post_type->name . '">' . $text . '</td></tr>';
}
// сюда вставляем код для таксономий, если нужно
}
Если нужно добавить еще и таксономии, то дописываем вниз функции (я в коде выделил) аналогичный код, только для таксономий:
// добавляем таксономии
$taxonomies = get_taxonomies( $args , $output , $operator );
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 ) );
if ( current_user_can( 'manage_categories' ) ) {
$num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>";
$text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>";
}
echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>';
echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>';
}
После того как мы вставим этот код у нас получится примерно такая картина:

Объяснять как и что работает пожалуй не буду, кому нужно разберутся, кто не может разобраться — ставьте плагин, упомянутый ниже. Давайте я лучше приведу еще один код, который показывает как добавить в этот "Прямо сейчас" блок информацию о количестве зарегистрированных пользователей:
/* Добавляем количество пользователей в Консоль в виджет "Прямо сейчас" */
add_action( 'right_now_content_table_end', 'dashboard_wps_user_count');
function dashboard_wps_user_count() {
global $wpdb;
$users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
?>
<table>
<tbody>
<tr class="first">
<td class="first b b_pages"><a href="users.php"><? echo $users; ?></a></td>
<td class="t pages"><a href="users.php">Members</a></td>
</tr>
</tbody>
</table>
<?}
Здесь мы использовали тот же самый фильтр right_now_content_table_end, который позволяет добавлять данные в конец левой колонки. Но помимо этого фильтра можно использовать и другие:
- right_now_content_table_end — конец левой колонки (текст). Этот фильтр использовался в примерах выше;
- right_now_discussion_table_end — конец правой колонки (Discussion);
- rightnow_end — конец виджета (место где написано: you are using WordPress3.2).
Плагин для улучшения виджета "Прямо сейчас"
Пока писал статью наткнулся на плагин для комплексного изменения виджета "Прямо сейчас" в консоли, назвается он: Right Now Reloaded. Смотрите как он изменяет видежет:

Надо признать, плагин хорош! И я его даже поспешно установил на один из блогов. А понравился он мне потому, что он не имеет никаких настроек, никак не проявляет себя в админке, ничего никуда не сохраняет и вообще, безобидный как червяк. Его в любое время можно удалить и не переживать что он что-то там оставил после себя.
Работает он по принципу: удаляет стандартный виджет и создает новый, взамен удаленному, сохраняя при этом совместимость с плагинами, которые могут использовать блок "Прямо сейчас" в своих целях.
Скачать Right Now Reloaded из репозитории плагинов WordPress.
Салаты незаменимый элемент вкусной трапезы, ведь именно салаты дополняют главное блюдо экзотическим вкусом. Вкусные салаты с фото можно посмотреть на сайте recepti.tv, там же можете ознакомится с рецептом приготовления и приготовить салат который вы еще не пробовали.
- Предыдущие по меткам
- Предыдущие записи
- 12 приемов с админкой WordPress (сайт для клиента) ← 1.Сен.2011 // 62
- Настраиваем robots.txt для WordPress ← 29.Июл.2011 // 52
- 20+ полезных SQL запросов для WordPress ← 14 Сентябрь 2011 // 19
- 12 приемов с админкой WordPress (сайт для клиента) ← 1 Сентябрь 2011 // 62
- Настраиваем robots.txt для WordPress ← 29 Июль 2011 // 52
У вас очень интересный блог и полезные статьи, есть чему поучиться, буду Вашим постоянным посетителем.
Немного отклоняюсь от темы, но в пределах названия )) Сталкивались ли Вы с произвольными полями для таксономий? В частности - добавление изображения (не дедовским способом в виде http://..../..../id_таксономии.img), а именно с вызовом media-upload.php. Нашел несколько плагинов, ultimate-taxonomy-manager и taxonomy-meta-1.0, но последний, к сожалению не запустился, а ultimate-taxonomy-manager только при активации уже кушает 20 запросов к б.д. (но решает все задачи). Если есть возможность, натолкните на более легкое решение, т.к. не очень хочется перегружать сайт плагинами и черезмерно увеличивать нагрузку.
Благодарен.
К сожалению, не знаю решения такой задачи, ничем помочь не могу.
Артем, попробуй taxonomy-images. Автор даже скринкаст сделал по установке-настройке.
А можно ли добавить таксономий к рубрикам? тот же title?
Полезно и интересно, а как у него с sql запросами? не сильно ли базу загрузит?
Спасибо
Зависит от объема данных. Беспокоиться, думаю, не стоит.
Прикольно!!!!!!!!!! Люблю новые фишки на блогах. Надо попробывать.
Очень хороший блог, жаль что Вы перестали писать посты
Полностью согласен. С октября нету новых записей, и русский вордпресс остановился вместе с вами Kama
Даже не обратил внимания на дату поста. А интересного здесь много.
Будет ли еще?
Не знаю
Норм себе также сделаю