Okay, so I think you probably want to do this, say, the last 50 posts.
End the last messages n , term_id each tag for each message, then pass this line to the include argument wp_tag_cloud() ;
$how_many_posts = 50; $args = array( 'posts_per_page' => $how_many_posts, 'orderby' => 'date', 'order' => 'DESC', ); // get the last $how_many_posts, which we will loop over // and gather the tags of query_posts($args); // $temp_ids = array(); while (have_posts()) : the_post(); // get tags for each post $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { // store each tag id value $temp_ids[] = $tag->term_id; } } endwhile; // we're done with that loop, so we need to reset the query now wp_reset_query(); $id_string = implode(',', array_unique($temp_ids)); // These are the params I use, you'll want to adjust the args // to suit the look you want $args = array( 'smallest' => 10, 'largest' => 30, 'unit' => 'px', 'number' => 150, 'format' => 'flat', 'separator' => "\n", 'orderby' => 'count', 'order' => 'DESC', 'include' => $id_string, // only include stored ids 'link' => 'view', 'echo' => true, ); wp_tag_cloud( $args );
artlung
source share