Advertisement
TheMightyAnt

WP Archives by month AND year

Mar 5th, 2013
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.06 KB | None | 0 0
  1. <?php
  2.  
  3. // http://www.wpbeginner.com/wp-themes/how-to-customize-the-display-of-wordpress-archives-in-your-sidebar/
  4.  
  5. global $wpdb;
  6. $limit = 0;
  7. $year_prev = null;
  8. $months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
  9. foreach($months as $month) :
  10.     $year_current = $month->year;
  11.     if ($year_current != $year_prev){
  12.         if ($year_prev != null){?>
  13.        
  14.         <?php } ?>
  15.    
  16.     <li class="archive-year"><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"><?php echo $month->year; ?></a></li>
  17.    
  18.     <?php } ?>
  19.     <li><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><span class="archive-month"><?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></span></a></li>
  20. <?php $year_prev = $year_current;
  21.  
  22. if(++$limit >= 18) { break; }
  23.  
  24. endforeach; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement