При просмотре постов определенной категории интересно так же вывести и те теги, которые встречаются в этих постах. Например, если вы открыли категорию “Программы”, то в ней будет выводится список тегов, которые присутствуют в постах только этой категории. Таким образом можно достигнуть большей детализации выборки, облегчить пользователям поиск нужной информации, сделать хорошую внутреннюю перелинковку.
Для формирования списка тегов, используемых в постах определенной категории, вставьте в файл functions.php код:
function get_category_tags($cats) {
global $wpdb;
$tags = $wpdb->get_results
("
SELECT DISTINCT terms2.term_id as tag_id, terms2.name as tag_name, t2.count as posts_count, null as tag_link
FROM
wp_posts as p1
LEFT JOIN wp_term_relationships as r1 ON p1.ID = r1.object_ID
LEFT JOIN wp_term_taxonomy as t1 ON r1.term_taxonomy_id = t1.term_taxonomy_id
LEFT JOIN wp_terms as terms1 ON t1.term_id = terms1.term_id,
wp_posts as p2
LEFT JOIN wp_term_relationships as r2 ON p2.ID = r2.object_ID
LEFT JOIN wp_term_taxonomy as t2 ON r2.term_taxonomy_id = t2.term_taxonomy_id
LEFT JOIN wp_terms as terms2 ON t2.term_id = terms2.term_id
WHERE
t1.taxonomy = 'category' AND p1.post_status = 'publish' AND terms1.term_id IN (". $cats .") AND
t2.taxonomy = 'post_tag' AND p2.post_status = 'publish'
AND p1.ID = p2.ID
ORDER by tag_name
");
foreach($tags as $tag)
$out .= '<a>tag_id) .'">'. $tag->tag_name .'<sub>'. $tag->posts_count .'</sub></a>, ';
return rtrim($out, ', ');
} Эта функция проверяет посты определенной категории, и составляет список тегов, используемых в них. Теперь осталось только вывести этот список, задав ID категории:
</pre> <p>Этот код нужно вставить в шаблон. 14 – это ID категории. Если нужно вываести список тегов из постов, принадлежащих нескольким категориям, то ID этих категорий нужно перечислить через запятую:</p> <pre>
Вывод тегов постов определенной категории – отличная возможность сделать ваш блог интереснее и добавить в него хорошую внутреннюю перелинковку, способствующую лучшей индексации.








Нужная штука. Только подскажи пожалуйста в каком месте задавать список категорий? Я в этом не особо понимаю еще.
Приведенный код выводит теги, используемые в постах определенной категории. То есть вставлять его нужно в шаблон, отвечающий за вывод постов определенной категории – index.php, archive.php и др.
Посмотрите пожалуйста мой сайт, я не пойму никак, два часа ковырял код, и не получилось, выводит, но не там. В functions.php вставил код, а дальше не врублюсь куда правильно влепить код:
Поразмышляв , подумал, что нужно в коде вывода тегов, прописать отдельно, чтоб определенная категория, брала определенные для неё теги, ток как это правильно написать не знаю,вот весь код, что выводит теги:
Дайте пожалуйста пример написания на 1 категорию. К примеру рубрика “Своими руками” – айди 23.
Вот я пробовал так-
Выводит в правильном месте, только во всех разделах ( и вместе со старыми, но то не проблема)
Автору 1000 поклонов. Нужно было как раз это, но пришлось малость попотеть, что бы запихать этот код в плагин WP-columns. Если кому нужно, то написал статью как это сделать http://sonax.name/?p=979
P.S. Зарегистрировался на сайте, увидел, что Вы отключили в админке регистрирующимся слева все пункты, в том числе и пункт-раздел консоль. Написали бы статью как это сделать :)
Может поможете или направите по нужному урлу. Пытаюсь сделать то же самое но для вывода меток товаров плагина Woocommerce. Задача та же вывести метки всех товаров определенной категории.
К сожалению, приведенный пример в новой версии WP 3.9.1 не работает. Могли бы вы подсказать как правильно адаптировать его?