👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
Добрый день! Делаю статический список рубрик простыми ссылками, мне так удобнее и так надо. Как на этой же странице динамически вывести количество записей для этих рубрик. Как это можно сделать, чтобы в редакторе просто вставлять в нужном месте шорткоды с указанием ID рубрик?


Посмотрите пост Как вывести количество опубликованных постов в определенной категории.
Это работает только если код ставить в шаблон, а нужно ставить на страницу в html-редакторе шорткодом.
Сделайте из кода шорткод.
Делаю функцию для шорткода, вроде все правильно, но почему-то не работает. Посмотрите пожалуйста что в ней не так?
function number_posts_in_cats($atts){ extract(shortcode_atts(array( "catid" => '' ), $atts)); 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 = '$catid' AND post_type = 'post' AND post_status = 'publish'"); } add_shortcode('npic', 'number_posts_in_cats'); // используем этот шорткод с указанием ID категории: [npic catid="ID категории"]Примерно так:
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 ' <style> .catpostcount {display:inline-block;} </style> <div class="catpostcount"> '. $cat_name .' ('. $post_count .') </div> '; } add_shortcode('cpc', 'tp_catpostcount');Использовать шорткод:
Шорткод выводит результат: Категория (количество постов в категории)
Можно расширить шорткод, добавив еще вывод текстового описания категории.
Ну все, теперь как часы работает, спасибо.
Под себя немного переделал, чтобы выводило только цифру – количество постов:
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'); //Шорткод [cpc id="ID категории"]