Monthly Archives Idea

Charles Stricklin, WordPress Podcast guru, had an interesting idea for arranging monthly WordPress archives, which is basically to make an archives page like this:

2005 Feb Apr Jun Jul Aug Sep Oct Nov Dec
2006 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov
2007 Jan
2008 Jan Apr Jun Oct

Here’s how to do it just using the WordPress API (instead of direct database queries):

<?php
if ( ! $calendar = wp_cache_get('year_month_archive', 'archive') ) {
     $calendar = array();
     $year = date('Y');
     $mo_qry = new WP_Query();
     $yr_qry = new WP_Query();
     do {
          $yr_qry->query(array('year' => $year, 'showposts' => 1));
          if ( $yr_qry->have_posts() ) {
               for ( $m = 1; $m <= 12; $m++ ) {
                    $mo_qry->query(array('year' => $year, 'monthnum' => $m, 'showposts' => 1));
                    if ( $mo_qry->have_posts() ) {
                         $calendar[$year][$m] = array(date('M', mktime(1,1,1, $m, 1, $year)), get_month_link($year, $m));
                    } else {
                         $calendar[$year][$m] = array('','');
                    }
               }
          }
          $year = intval($year - 1);
     } while ( $yr_qry->have_posts() );
     ksort($calendar);
     wp_cache_set('year_month_archive', $calendar, 'archive');
}
?>
<table>
<?php foreach( $calendar as $year => $m ) : ?>
     <tr><th><?php echo $year; ?></th>
     <?php foreach( $m as $data ) : ?>
          <td><a href="<?php echo $data[1]; ?>"><?php echo $data[0]; ?></a></td>     
     <?php endforeach; ?>
     </tr>
<?php endforeach; ?>
</table>

4 Comments

  1. Posted December 8, 2008 at 2:58 pm | Permalink
    WP Cult

    That’s a real cool way to archive the archive’s.

  2. Posted December 11, 2008 at 9:52 am | Permalink
    LAM

    This is great. Thanks for the code.

  3. Kei
    Posted January 18, 2009 at 12:58 pm | Permalink
    Kei

    Oh, awesome. You really helped me out here. Thank you!

  4. Posted March 22, 2013 at 4:03 am | Permalink
    givenchyt-shirt

    Une exceptionnelle le long du Givenchy T Shirt côté flambant neuf Beaucoup plus de plaisir les filles dans les nouvelles structures Parajumpers à couper le souffle niveaux inférieurs, ce qui peut amener un homme ou une femme un effet lié à l’ombrage hzm20121227brilliant en hiver, en plus des pantalons de couleur foncée, a grandi pour être remarquable, riche en effet tendance. De couleur sombre cavalier en Sac Givenchy cuir imitation est essentiel facteurs de mouvement assortiment communs, discuter de la jeune précis, farcie avec des marches extatiques. Beaucoup de personnes intéressées dans les détails sur la rémunération pour les particuliers en outre parlé internet développé par Tesco particulier les produits http://www.givenchyt-shirt.com de prêts de capitaux, parachutistes de retenue parachutistes mur de décision de sortie Jacken obtenir, outre les écarts affectant les parachutistes individuels personnelle combinée avec l’organisation prévoit, voitures et camions. Styles d’alimentation électrique spécifiques de parachutistes Vêtements pour répondre aux damands particuliers associés à plusieurs consommateurs. A titre d’exemple: Hommes Parajumpers Moins coûteux Spencer, Vous serez en mesure parachutistes Pelt Parajumpers, Gents niveaux Parajumpers, Parajumpers il sera possible couches en cuir naturel de l’oie États acquérir, Pour localiser parachutistes Couvrir parachutistes Ushanka et cravate, veste parachutistes, parachutistes- à long syle, parachutistes court-syle, Peut Parajumpers ainsi Chaussures et bottes, peut très bien parachutistes considérablement réduire Spencer, pourrait-Parajumpers Sweat à capuche, mai parachutistes Pourpoint, pourrait Sweat parachutistes, peut facilement Veste 2013 Givenchy T-Shirt Court parachutistes, Veste de parachutistes, enfants «Enfants parachutistes vestes et parachutistes enfants ajout »en plus de porter les cheveux. huang20130110945 Givenchy Lunettes Soleil

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*