Mostrar Archivos por meses

Hace unos días me ofrecí a compartir el código del archivo por meses con la comunidad de la excelente bitácora Ayuda WordPress en Español, y de ahí este comentario.

Por defecto, los meses se muestran uno debajo de otro pero cuando llevas un tiempo en la Red la lista se hace interminable. De ahí que buscara y aplicará un sistema que permitiera incluir los meses de cada año en una sola línea. Por desgracia, no recuerdo de dónde lo obtuve y pido por ello disculpas a su autor pues no puedo citarlo.

El código se inserta en archives.php del tema y aquí lo tenéis en formato txt.

<?php
global $month, $year; // scope WP global variables for later use
/* $arc_years => archive years query */
$arc_years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date DESC");
foreach($arc_years as $arc_year) : // foreach loop for archive years
?>
<ul>
<li><p>Archivo año <a href="<?php echo get_year_link($arc_year); ?> "><?php echo $arc_year; ?></a>:</p>
<?php
/* $arc_months => archive months query for archive year */
$arc_months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date) FROM $wpdb->posts WHERE YEAR(post_date) = '$arc_year' AND post_status = 'publish' ORDER BY post_date");
foreach($arc_months as $arc_month): // foreach loop for archive months of archive year
?>

:: <a href="<?php echo get_month_link($arc_year, $arc_month); ?> "><?php echo $month[zeroise($arc_month, 2)]; ?></a>

<?php endforeach; // end foreach loop for archive months ?>
 ::</li></ul>
<?php endforeach; // end foreach loop for archive years ?>


1 comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *