Display tags related to category

Get tags related to one (or more) specific category?
Taken from WP Receipes:  http://www.wprecipes.com/wordpress-trick-function-to-get-tags-related-to-category

First, here is the function you have to paste in your function.php file:

</pre>
<pre>function get_category_tags($args) {

global $wpdb;

$tags = $wpdb->get_results

("

SELECT DISTINCT terms2.term_id as tag_id, terms2.name as tag_name, 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 (".$args['categories'].") AND

t2.taxonomy = 'post_tag' AND p2.post_status = 'publish'

AND p1.ID = p2.ID

ORDER by tag_name

");

$count = 0;

foreach ($tags as $tag) {

$tags[$count]->tag_link = get_tag_link($tag->tag_id);

$count++;

}

return $tags;

}</pre>
<pre>

Once you have pasted the function, you can use it in your theme:

</pre>
<pre>$args = array('categories' => '12,13,14');

$tags = get_category_tags($args);

</pre>
<pre>

Revisions

There are no revisions for this post.

Tags: , ,

No comments yet.

Leave a Reply