Вывести количество записей рубрики на страницу

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

6 Комментарии

  1. Это работает только если код ставить в шаблон, а нужно ставить на страницу в html-редакторе шорткодом.

  2. Делаю функцию для шорткода, вроде все правильно, но почему-то не работает. Посмотрите пожалуйста что в ней не так?

    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 категории"]
  3. Примерно так:

    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 '
        
        
    '. $cat_name .' ('. $post_count .')
    '; } add_shortcode('cpc', 'tp_catpostcount');

    Использовать щорткод:
    [cc lang=”css”]
    [cpc id=”ID категории”]

    Шорткод выводит результат: Категория (количество постов в категории)
    Можно расширить шорткод, добавив еще вывод текстового описания категории.

  4. Ну все, теперь как часы работает, спасибо.

    Под себя немного переделал, чтобы выводило только цифру – количество постов:

    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 категории"]

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*