[Помогите] Фильтрация записей в категории тегом

Тема в разделе "Wordpress", создана пользователем Me. Zezya, 29 июн 2014.

Модераторы: Sorcus
  1. Me. Zezya

    Me. Zezya Постоялец

    Регистр.:
    21 май 2010
    Сообщения:
    102
    Симпатии:
    22
    Добрый день.
    Есть необходимость сделать фильтрацию по тегу в определенной рубрике. То есть заходим в рубрику и видим выборку тегов именно тех, которые присутствуют в записях этой категории.
    Пытался реализовать вот таким способом n-wp.ru/7262, но статья довольно старая и приведенный пример не работает. Версия WordPress 3.9.1.
    Помогите, пожалуйста, разобраться.
     
  2. SergUsup

    SergUsup Писатель

    Регистр.:
    28 апр 2013
    Сообщения:
    1
    Симпатии:
    1
    День добрый. Попробуйте так

    В файл functions.php
    вставляем
    PHP:
    function get_tags_in_cat($cat_id)
    {
        
    $posts get_posts( array('category' => $cat_id'numberposts' => -1) );
        
    $tags = array();
      
        foreach(
    $posts as $post)
        {
            
    $post_tags get_the_tags($post->ID);
            if( !empty(
    $post_tags) )
                foreach(
    $post_tags as $tag)
                    
    $tags[$tag->term_id] = $tag->name;
          
        }
        
    asort($tags);
        return 
    $tags;
    }


    А в место, где надо все вывести


    PHP:
    <?php
        $cat_id 
    get_query_var('cat'); // получаем ID текущей категории   
        
    $tags get_tags_in_cat($cat_id);
        foreach(
    $tags as $tag_id => $tag_name)
            
    $tags_print[] = '<a href="' .get_tag_link($tag_id). '">' .$tag_name'</a>';
        echo 
    implode(', '$tags_print);
    ?>
     
    Me. Zezya нравится это.