Clean Archives Reloaded

What Exactly Does This Plugin Do?

It creates a pretty list of all of the posts that you’ve made to your blog. To see an example, check out my archives page. Note that the image located there that shows the post times of recent posts is generated by a seperate plugin.

Download:

Support / Feature Request Forum:

http://wordpress.org/tags/clean-archives-reloaded

Credits / History:

This plugin is based on a concept (it no longer shares any common code) by Sebastian Schmieg for the archive page of his “Blix” theme. His code was later converted to a plugin by Shawn Grimes.

The drawback of both of those versions though was the sheer number of queries required (around 1 per month + 2 per post — it added up quick). So, I decided to make my own version which cached the output so that it was only regenerated when needed and otherwise just pulled with 1 query from the database. I was also given the idea by Chris O’Rourke to use Javascript to make the months collapsible as many people’s archives pages were getting rather long.

All of that was then replaced by the current version which uses WordPress functions and internal WordPress caching techniques to make only one query per page period.

780 thoughts on “Clean Archives Reloaded

  1. Pingback: 10 most popular plugins that every wordpress should have | Pedia Book

  2. Getting this error

    Warning: Cannot modify header information – headers already sent by (output started at E:\CustomerData\webspaces\webspace_00100859\webapps\SiteApp293\htdocs\wp-content\plugins\custom-field-list-widget\widget_custom_field_list.php:1316) in E:\CustomerData\webspaces\webspace_00100859\webapps\SiteApp293\htdocs\wp-includes\pluggable.php on line 864

    code there is

    	if ( $is_IIS ) {
    		header("Refresh: 0;url=$location");
    	} else {
    		if ( php_sapi_name() != 'cgi-fcgi' )
    			status_header($status); // This causes problems on IIS and some FastCGI setups
    		header("Location: $location", true, $status);
    	}
    }
    endif;
    
  3. Pingback: Clean Archives Reloaded « pr8.org – Pagerank 8

  4. Pingback: WordPress?? | ??808,?????

  5. Pingback: wp hack : Membuat Daftar Isi Blog Wordpress Otomatis | awebs.net

  6. First of all, thank you for the plugin, it’s the closest I’ve come to getting an archive on my website. I like the expand/collapse look.

    Second of all, I think I mangled something while “installing”, and wonder if you wouldn’t mind taking a look?

    Here’s what I did:

    It installed as a wordpress plugin just fine, I activated it, and configured the settings. Then I went to the widget section and dragged it over to the sidebar (the only place my theme will allow me to insert widgets) Then it showed up on the sidebar, but everybit of customization – blogrolls, sponsors, follow me on twitter, etc… Disappeared.

    So I removed it.

    Then I had the (probably not so) bright idea to try installing it in my footer, by writing the code that was mentioned in the readme file for inserting the archive in a post. But the only thing that showed up was the code.

    Then I had another (probably less than stellar) idea: I would make a new page, call it Archives, install that code from the readme file, view the page’s source code, and cut and paste THAT into the footer!

    I think I got a little too much code, because my entire homepage showed up in the footer.
    So I tried cutting and pasting what I was pretty sure was the source code for just the archives.

    That’s when my archive turned into a kangaroo.

    If you look at my webpage: http://www.twiceblessedlife.com and look at the footer, you’ll see the archive monthly listings, with March expanded, and next to it a link that says “Expand All”

    If either March is collapsed, or “Expand All” is clicked, or any other month is clicked, then nothing will expand. It will briefly expand and snap shut quickly, and sorta look like my archive is hopping up and down like a kangaroo.

    I’m thinking that I either missed something in the cut and pasting process, or it’s just not totally doable. Personally, I’m thinking I’m the one with the oopsie here.

    As you can probably tell, I’m not a programmer, and yes, I do describe stuff to my auto mechanic as “The thingy was making a noise.”

    If you would be kind enough to take a look-see and let me know where I messed up, I would be extremely grateful.

  7. Pingback: My Wordpress Plugin List – Leonardo Teleanu - logo & brand identity designer

  8. Pingback: Best WordPress Plugins

  9. Wow, this brings back memories! I’m very glad to see that this plug-in is still around in it’s various forks and versions.

    You’ve done a great job with it Alex.

  10. Pingback: DevHawk Has A Brand New Blog (Engine) – DevHawk

  11. Pingback: Weekday Tip: 9 Ultra-useful Wordpress Plugins « Fire Studios

  12. the plug in has some problem on my site 🙁
    the function Collapse All and expand all don’t work.
    I’m using wp 3.1.1, i tryed to disable all the plugins but clean archives continue to doesn’t work. does someone have some idea?
    thanks

    • Sounds like you have a Javascript error on your site. The collapsing and expanding is done using Javascript.

      Can you triple check the URL to your site so I can take a look at it? The URL in your second comment (I deleted it and edited your first comment) doesn’t work either.

  13. Pingback: Plugin Dasar Terbaik WordPress

  14. Pingback: 20 Plugin Replacing Tutorials, Tips, Snippets and Solutions for WordPress « DownGraf – Design weblog for designers

  15. Pingback: 10 WordPress Plugins That Power QOT

  16. Pingback: WP Clean Archives Reloaded Review – Best Wordpress Plugins

  17. Pingback: What Makes The Bacon Blog Tick? | No More Bacon

  18. Hi,

    just a quick question.
    I have password-protected posts on one of my sites that I use your plugin on that don’t show up in the archive listing.

    Is this intended behaviour or am I just being too dumb to get it right again?

    Great and simple plugin, by the way.

  19. Pingback: ??? ??????? – ????? ???????? WordPress | ???????? ?????? ?? WordPress

  20. Pingback: Customizing Wordpress themes for Usability

  21. Pingback: WordPress eklentileri liste halinde arad?g?n?z tüm eklentiler

  22. Pingback: 6 Plugin Dasar Terbaik untuk Membangun WordPress

  23. Pingback: Add a Sitemap to your Blog | Press Your Words

  24. Your archive reloaded plugin is awesome. Thanks a lot!
    But since last wordpress update: 3.2 I have a problem

    I see “expand all” as default list, instead of must clicking it every time.
    I have try: Settings ? Clean Archives ? Uncheck and check “Use Javascript to make the months collapsible” but it doen’t work again

    .

    Thx!

    .

    • If you check your Javascript console, you’ll see you’re getting a Javascript error on your site that is unrelated to my plugin. It’s just having the side effect of breaking all other Javascript on the page including my plugin.

      Error: jQuery(sharebar).offset() is null
      Source File: http://djfrenchy.com/wp-content/plugins/wp-minify/cache/955347f0072bf0f3342c22e4a22447e1.js?m=1309895794
      Line: 18
  25. I’ve been using your plugin since long and I love it. But I just noticed an issue with it, the plugin is loading a huge jQuery code on every page of the site, thus making the site slow. Technically, it should just load only on the Archives page.

    Plz reply to my query and provide some way to fix it.

  26. wow.. that’s amazing. Cant believe this was so easy to opt out and I never noticed the plugin settings. Thanks a lot Alex.

  27. Pingback: 10 Wordpress Plugins That Power Qot « Dailybloggingtricks

  28. Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 710026 bytes) in /home/xxx/public_html/xxx.com/wp-includes/post-template.php on line 168

    ~~~~
    I tried to ask the host to increase the memory… but they just telling me it’r coding problem.

    Can you please confirm there is no coding issue on your part here ?

    Or it’s true this is your plugin poor coding problem (as hostgator claims), then any help ?
    ~~~~

    tickets@hostgator.com to me

    My colleague is correct,

    This is a coding issue and we are not able to correct the issue. Please contact the plugin developer for further support.

    As always, our goal is exceptional service. Thank you for choosing HostGator!

    Sincerely,
    Grayson P.

  29. Pingback: Archives, tags and pretty permalinks | My Blog

  30. Pingback: WordPress eklentileri liste halinde arad?g?n?z tüm eklentiler | SEVECENOL GRUP

  31. Pingback: 10 pages every corporate blog needs | Hostage India | Web Solution Community

  32. Pingback: 2011 List Of My Favorite WordPress Plug-ins

  33. Pingback: Biking In Dallas » Random – Having no definite aim or purpose

  34. I’m working on a website where I want to filter out anything in the “uncategorized” category, including the clean archives. I know I can do this:

    $filtercat = $wpdb->get_results( “SELECT object_id FROM $wpdb->wp_term_relationships WHERE term_taxonomy_id = ‘1’” );

    I just don’t know how to compare it or combine it with the “rawposts” query to remove those posts from the result. I’m sure I could do it directly with MySQL, but $wpdb is a different beast.

    Any help?

    • Probably easier to just hide them. Add the highlighted lines to the plugin (the unhighlighted lines are for context):

      			$firstpost = TRUE;
      			foreach( $posts as $post ) {
      				if ( in_category( 1, $post ) )
      					continue;
      
      				if ( TRUE == $firstpost ) {
      • I didn’t think of that. Duh.

        Thanks, Alex. I had it backwards though, so it would be !in_category( 1, $post ).

        I’m using a custom taxonomy and they’re all uncategorized under the standard categories.

        • I purposefully did not include an exclamation point in my code because you said you wanted to exclude that category, not limit results to that category.

          You should use the exact code I gave you. 😉 Or better, use this improved code I just came up with:

          		// Loop through each post and sort it into a structured array
          		foreach( $rawposts as $post ) {
          			if ( in_category( 'uncategorized', $post ) )
          				continue;
          
          			$posts[ mysql2date( 'Y.m', $post->post_date ) ][] = $post;
          		}

          'uncategorized' can be replaced with the category’s ID (i.e. 1 or whatnot) for improved performance.

  35. Pingback: ???????? - ???

  36. Pingback: Clean Archives Reloaded eklentisi | ProfTm | Ve Biraz Teknoloji...

  37. Pingback: ???????????2? | Movies1910??????

Comments are closed.