При просмотре постов определенной категории интересно так же вывести и те теги, которые встречаются в этих постах. Например, если вы открыли категорию “Программы”, то в ней будет выводится список тегов, которые присутствуют в постах только этой категории. Таким образом можно достигнуть большей детализации выборки, облегчить пользователям поиск нужной информации, сделать хорошую внутреннюю перелинковку.
Для формирования списка тегов, используемых в постах определенной категории, вставьте в файл 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 не работает. Могли бы вы подсказать как правильно адаптировать его?