tag list made from specific category - wordpress tag list made from specific category - wordpress wordpress wordpress

tag list made from specific category - wordpress


I think the method you've found it's the only way you can achieve what you're looking for.Maybe you can modify some lines, but the concept is right.

at the moment i don't think there's a way to filter tags as you would using a core wordpress function.


I did not get the code above to work my installation of WordPress. I did however manage to tweak it until it worked. Here is my tweak:

$catid = get_cat_ID(single_cat_title("",false));$catobj = get_category($catid);$catslug = $catobj->slug;$all_tags_arr = array();query_posts('category_name='.$catslug);if (have_posts()) : while (have_posts()) : the_post();    $posttags = get_the_tags();    if ($posttags) {        foreach($posttags as $tag) {            $all_tags_arr[] = $tag -> term_id;        }    }endwhile; endif; $tags_arr = array_unique($all_tags_arr);$tagcloud_args = array(    'include'   =>  implode(',',$tags_arr),);wp_tag_cloud( $tagcloud_args ); wp_reset_query();


Here is a much easier example.... Just change the category name and hey presto your done. The associated tags will print out in a list format.

<?php query_posts('category_name=html'); if (have_posts()) : while (have_posts()) : the_post();    $posttags = get_the_tags();    if ($posttags) {        foreach($posttags as $tag) {            $all_tags[] = $tag -> name;        }    }    endwhile; endif;     //This snippet removes any duplicates.    $tags_unique = array_unique($all_tags);     echo '<ul>';        foreach($tags_unique as $unique) {          echo  '<li>'.$unique.'</li>';        }    echo '</ul>';    wp_reset_query();?>