It’s highly efficient and won’t kill your server with tons of MySQL queries.
Check out one of my sites’ archive page.
Shortcode Tag Parameters
You can customize the list options on a per-call basis if you wish.
old) show newest months or oldest months first
old) show newest posts or oldest posts first within months
Oldest months first, oldest posts first:
[cleanarchivesreloaded monthorder="old" postorder="old"]
Updgrading From A Previous Version
To upgrade from a previous version of this plugin, delete the entire folder and files from the previous version of the plugin and then follow the installation instructions below.
Installing The Plugin
Extract all files from the ZIP file, making sure to keep the file structure intact, and then upload it to
This should result in the following file structure:
- wp-content - plugins - clean-archives-reloaded | readme.txt | clean-archives-reloaded.php
Then just visit your admin area and activate the plugin.
Using The Plugin
Just create/edit a post or page and type
[cleanarchivesreloaded] where you would like the archives list to show up. You can also use
[cartotalposts] to show your total post count.
Example page contents:
Here is all [cartotalposts] of my posts: [cleanarchivesreloaded]
Configure options via Settings -> Clean Archives.
- Does this plugin support other languages?
Yes, it does. See the WordPress Codex for details on how to make a translation file. Then just place the translation file, named
car-[value in wp-config].mo, into the plugin’s folder.
- I love your plugin! Can I donate to you?
Sure! I do this in my free time and I appreciate all donations that I get. It makes me want to continue to update this plugin. You can find more details on my donate page.
यह खुला स्रोत सॉफ्टवेयर है। अनुगामी लोगो ने इस प्लगइन के लिए योगदान दिया है।योगदानकर्ता
June 29th, 2011 (No Version Bump)
- Added Irish translation files by Ray S.
March 31st, 2011 (No Version Bump)
- Added Portuguese (Brazil) translation files by Marcos Freire.
- Use a direct database query instead of
get_posts()to fetch just the data we need. I had wrongly been thinking doing this was going to be a lot more complicated to accomplish. This should help a lot with memory requirements.
- Added German translation thanks to Thomas F?rster.
- Add Hungarian translation thanks to Fodor Bence. Sorry it took so long, Fodor!
- Add Danish translation thanks to Georg S. Adamsen.
- Add Polish translation thanks to Marcin.
- Add Italian translation thanks to Roberto.
- Try to further reduce memory usage. This is a bandaid fix and an alternate generation method (multi-SQL queries) is needed.
- Add Russian translation thanks to DennisBri.
- Add Swedish translation thanks to Mikael Quick.
- Add Chinese translation thanks to Patrick.
- Turn dynamic load off by default. It was causing people problems with certain themes (probably due to theme hacks).
- Added French translation file thanks to Luc Saint-Elie.
- Dynamic load improvements.
- Imrovements for WordPress 2.6 (i.e. a moved
- Spanish translation file thanks to albertjh.
- If dynamic load is enabled (by default it is now), then dynamically load jQuery as well.
- Add option to settings page that, if enabled, will check the posts to be disabled for the shortcode. If they aren’t found, the JS/CSS for the plugin won’t be outputted.
- Add parameter to post list shortcode to hide post counts. Do
[cleanarchivesreloaded postcount="0"]to hide the posts per month.
- Add parameter to post list shortcode to hide comment counts. Do
[cleanarchivesreloaded commentcount="0"]to hide the comments per post.
- Make shortcode work in the text widget
- Switch the way posts are sorted within months to avoid an issue that would occur in the unlikely even that two posts had an identical post date.
- Change the default sort order for posts within months to newest posts first.
- Made language files be loaded from a subfolder for a cleaner plugin folder and renamed the plugin’s language domain from “car” to “clean-archives-reloaded”.
- Added Turkish translation by Baris Unver.
get_posts()for WordPress 2.6
- jQuery improvements (use
find()on a CSS class instead of
- Recoded (mostly) from scratch once again. Now requires WordPress 2.5+ as it uses the shortcode functions.
- Greatly increased efficiency. Page generation times dropped 10% on my localhost development blog.
- Options page — no more editing the file to configure options.
- If you have multiple listings per page (no clue why you would, but hey), the Expand/Collapse All links will only apply to it’s own listing rather than all listings on the page.
- You can override the individual options set on the options page via the shortcode tag (see above).
- Completely recoded from scratch. It now relies on no manual SQL queries which should make it future proof. It also no longer requires any internal caching as the plugin is queryless.
- Forgot to tell WordPress to regenerate the cache when comments are made and deleted.
- Initial release of my edition of the plugin.