Вывести количество записей рубрики WordPress с помощью кода в шаблоне или шорткода на странице
12 февраля 2013 | Автор: Дунин ВладимирИногда требуется организовать статический список рубрик, а количество записей в каждой рубрике выводить динамически. Я знаю два варианта как это сделать: выводить количество записей конкретной рубрики в шаблоне страницы, либо на странице в визуальном редакторе с помощью шорткода. Второй вариант я считаю более предпочтительным, т.к. с помощью шорткода мы вызываем только одну функцию, в то время как код первого варианта нам приходится вставлять целиком каждый раз там, где хотим выводить количество. Но здесь приведу коды обоих вариантов:
Вариант для вставки в шаблон. В нужном месте этот код можно поместить в тег <span> и задать ему свое форматирование:
<?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = 'номер ID категории' AND post_type = 'post' AND post_status = 'publish'"); ?>
Следующий вариант позволяет выводить цифру – количество записей рубрики – с помощью шорткода:
function tp_catpostcount($atts) { extract(shortcode_atts(array( "id" => '' ), $atts)); $post_count = get_category($id)->category_count; $cat_name = get_category($id)->name; $cat_slug = get_category($id)->slug; return ''.$post_count.''; } add_shortcode('cpc', 'tp_catpostcount');
Этот код нужно поместить в файл function.php темы оформления, а на страницах разместить в нужном месте шорткод:
[cpc id="ID категории"]
Данный шорткод также можно помещать в свои теги и задавать ему форматирование.