Normalmente, la estructura del tema que uses en tu blog en WordPress será lo suficientemente práctica como para que el lector obtenga la información que busca. Sin embargo, por algún motivo es posible que queramos modificar esta estructura y retocar el formato con el que se listan los posts, bien porque pensamos que es más fácil para el visitante del blog o bien porque simplemente nos gusta así ¿existe algún motivo mejor? No.
Aquí vamos a echar un vistazo a cómo modificar nuestro theme para que muestre un listado de artículos del blog ordenados y agrupados según una fecha, es decir, en lugar de mostrar el típico listado de posts ordenados al estilo clásico, obtendríamos un agrupamiento similar a éste:
23 de Mayo del 2013
12:00 Artículo de Oleblogs interesante
09:21 Post increíble de OleBlogs
22 de Mayo del 2013
14:00 Una entrada más
11:45 Un post sobre OleBlogs y WordPress
21 de Mayo del 2013
…
Como ves, esta organización es interesante en el caso de que necesites que quede claro qué día se publicó qué artículos. Especialmente útil en blogs que publican muchos artículos cada día.
El siguiente código consigue este efecto y mostrará la lista de posts agrupados allá donde lo insertes, por ejemplo, en el index.php o loop.php si quieres que aparezca en la página inicial del blog, single.php si quieres un listado que aparezca el listado en las páginas individuales de posts, etc.
** No olvides realizar una copia de seguridad de los archivos que modifiques para poder restaurarlos adecuadamente si quieres volver a tenerlo todo como estaba antes. No es broma, esto pasa.
El código básico en cuestión es este:
$args = array(‘posts_per_page’ => -1, ‘orderby’ => ‘date’ );
$Agrupada = new WP_Query($args);
$fecha = »;
// Comienza el bucle para listar los artículos
if ( $Agrupada->have_posts() ) : while ( $Agrupada->have_posts() ) : $Agrupada->the_post();
// Comprobamos si ha cambiado la fecha y se visualiza si es necesario
if ( $fecha != get_the_date() ) {
echo $fecha;
$fecha = get_the_date();
}
// listamos lo que queramos de cada post, el título, enlace al post, excerpt, etc.
echo «<a href='»;
the_permalink();
echo «‘>»;
the_title();
echo «</a><br>»;
the_excerpt();
// Aquí termina el bucle para listar los artículos
endwhile; endif;
wp_reset_postdata();
Este código tendría que substituir al que aparece en el index.php/loop.php de tu theme en WordPress o allá donde quieras instalarlo. Normalmente, este bloque de código que vas a substituir comienza por algo parecido a:
< div class="#content">
y termina con algo similar a esto:
< !-- end #content -- >
En general, tendrías que eliminar lo que aparece entre el < div > y < /div >
antes mencionado y copiar y pegar en su lugar el código de ejemplo que pusimos arriba … ¡pero! cuidado aquí, no todos los themes en WordPress son iguales ni tienen exactamente la misma estructura, así que es buena idea hacer una copia de seguridad antes de realizar cambios o, mucho mejor, crear un blog de prueba en el servidor o en nuestra propia computadora para probar las veces que queramos sin que el blog real que vamos a modificar sufra.
Por último, el código de ejemplo puede, obviamente, personalizarse, añadiendo negrillas, saltos de línea, thumbnails con la función the_thumbnail(), el contenido completo del artículo con the_content(), etc. según el caso. Tienes la referencia completa de funciones aquí.
Una vez que tengas listo el código anterior, puedes acudir al Administrador de WordPress (wp-admin), visitar Ajustes->Lectura y ajustar el número de artículos que quieres que aparezcan por defecto, seguramente querrás más de los 10 que aparecen habitualmente.
Quiero agradecer porque me sivio bastante cuando vi el codigo me di cuenta que era algo basico xd
Saludos.