Display list of most used tags in the last 30 days
-
I am looking for a way to display the most used tags over the last 30 days. I am no coder, but I have come up with this mashup to display a list of the most used 28 tags (preference to fit my theme). I cannot, for the life of me, figure out how to limit the tags to the most used in the last 30 days.
This is what I started off with:
<ul id="footer-tags"> <?php $tags = get_tags( array('orderby' => 'count', 'order' => 'DESC', 'number'=>28) ); foreach ( (array) $tags as $tag ) { echo '<li><a href="' . get_tag_link ($tag->term_id) . '" rel="tag">' . $tag->name . '</a></li>'; } ?> </ul>
Through a little more research, I have come up with this:
<ul id="footer-tags"> <?php global $wpdb; $term_ids = $wpdb->get_col(" SELECT DISTINCT term_taxonomy_id FROM $wpdb->term_relationships INNER JOIN $wpdb->posts ON $wpdb->posts.ID = object_id WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= $wpdb->posts.post_date"); if(count($term_ids) > 0){ $tags = get_tags(array( 'orderby' => 'count', 'order' => 'DESC', 'number' => 28, 'include' => $term_ids, )); foreach ( (array) $tags as $tag ) { echo '<li><a href="' . get_tag_link ($tag->term_id) . '" rel="tag">' . $tag->name . '</a></li>'; } } ?> </ul>
The website is slightly less than ~4 weeks old, so to test, I changed
INTERVAL 30 DAY
toINTERVAL 3 DAY
and the tags being returned seem random and some haven’t been used in 2+ weeks and have only been used a single time. As well, only 8 tags are being displayed, when more have been used.To check that the correct number of days have been queried, I did the following:
Completely deleted all items in the trash for posts and pages, I don’t have any custom post types.
Did the same with drafts.
Ran a query in phpmyadmin to delete all post revisions –
DELETE FROM wp_posts WHERE post_type = "revision";
Ran a query in phpmyadmin to check if the results are the posts from the last 3 days –
SELECT * from wp_posts WHERE DATE_SUB(CURDATE(), INTERVAL 3 DAY) <= post_date
The results from the phpmyadmin query were, in fact, the posts from the last 3 days, but the front-end display did not change.
- The topic ‘Display list of most used tags in the last 30 days’ is closed to new replies.