Вообщем нужно чтоб на странице каждой рубрики выводился список тегов определенной рубрики.
То есть если мы находимся на странице рубрики под названием "Природа" - должны отображаться все теги (метки) из этой рубрики. А если мы находимся на странице рубрики под названием "Машины" - по аналогии с выше, только не должны видеть метки из других категорий.
Я нашел вот такое решение:
Этот код вставляется в functions.php
PHP код:
function keengo_tag_cloud$args '' ) {
    
// Стандартные параметры функции
    
$defaults = array(
        
'smallest' => 8'largest' => 22'unit' => 'pt''category' => 1
    
);
    
$args wp_parse_args$args$defaults );
    global 
$wpdb;
    
    
// Получаем ID таксономии выбранной категории и по нему получаем все посты
    
$keengo_category $args['category'];
    
$keengo_term_taxonomy_id $wpdb->get_var("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = $keengo_category AND taxonomy = 'category' ");
    
$keengo_posts $wpdb->get_results("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $keengo_term_taxonomy_id "ARRAY_A);
    
// Преобразовываем полученные ID постов в строку
    
$keengo_post_IDs_array = array();
    foreach ( 
$keengo_posts as $keengo_post ) {
        
$keengo_post_IDs_array[] = $keengo_post['object_id'];
    }
    
$keengo_post_IDs implode(','$keengo_post_IDs_array);
    
    
// Получаем список тегов для выбранных из категории постов
    
$keengo_metas_array $wpdb->get_results("SELECT term_taxonomy_id, count(object_id) FROM $wpdb->term_relationships WHERE object_id IN ($keengo_post_IDs) GROUP BY term_taxonomy_id "ARRAY_A);
    
$keengo_metas = array();
    
$count_max 0;
    
$count_min 1000000;
    
// Для каждлго тега находим название, ссылку, количество
    
foreach ( $keengo_metas_array as $meta_key => $keengo_meta ) {
        
$keengo_meta_term_taxonomy_id $keengo_meta['term_taxonomy_id'];
        
$keengo_taxonomy $wpdb->get_var("SELECT taxonomy FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = $keengo_meta_term_taxonomy_id ");
        if ( 
$keengo_taxonomy == 'post_tag' ) {
            
$keengo_term_id $wpdb->get_var("SELECT term_id FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = $keengo_meta_term_taxonomy_id ");
            
$keengo_term_name $wpdb->get_var("SELECT name FROM $wpdb->terms WHERE term_id = $keengo_term_id ");
            
$keengo_metas[$keengo_term_name]['link'] = get_tag_link($keengo_term_id);
            
$keengo_metas[$keengo_term_name]['count'] = $keengo_meta['count(object_id)'];
            
            if ( 
$keengo_meta['count(object_id)'] > $count_max ) {
                
$count_max $keengo_meta['count(object_id)'];
            }
            if ( 
$keengo_meta['count(object_id)'] < $count_min ) {
                
$count_min $keengo_meta['count(object_id)'];
            }
        }
    }
    
// Сортируем полученный массив
    
ksort($keengo_metas);
    
    
// Формируем вывод тегов с указанием размера шрифта для наглядности
    
$count_delta $count_max $count_min;
    
$size_min $args['smallest'];
    
$size_max $args['largest'];
    
$size_delta $size_max $size_min;
    foreach ( 
$keengo_metas as $name => $meta ) {
        
$size $size_min $size_delta * ($meta['count'] - $count_min) / $count_delta;
        echo(
'<a href="'.$meta['link'].'" style="font-size: '.$size.$args['unit'].'">'.$name.'</a> ');
    }

След код вставляем в archive.php
PHP код:
if ( function_exists('keengo_tag_cloud') ){
    
$args = array(
         
'smallest'    => 12
        
,'largest'    => 18
        
,'unit'        => 'px'
        
,'category'    => 5
    
);
    
keengo_tag_cloud$args );

А этим кодом мы собственно и выводим метки определенной рубрики, которую указываем
PHP код:
,'category'    => 
Но почему то у меня показывается метки определенной рубрики во всех категориях...
---------------------------------------HELPPP------------------------------------------------