Contenido

Mostremos nuestros últimos X posts

11 jun

+ 26

Hoy Cristian, me pedía ayuda para poner en su blog los últimos X posts en el sidebar. Y he pensado que estaría bien dedicarle un post a esto y hacer un mini manual de como mostrarlo en caso de que tu theme no lo tenga por defecto.

Teoría

La base de WordPress son los posts (o entradas) en las cuales escribimos la información que queremos que llegue a los usuarios. Pero en muchos caso cuando un usuario llega a la web lo primero que ve es el post que tenemos en portada y nada más. Nuestra misión es hacerle entrar por lo ojos el resto del blog, de esta forma mostramos en el sidebar, que generalmente está a la izquierda o derecha, las categorías, calendario, publicidad,… para que al realizar la lectura tenga a mano más enlaces para complementar la lectura o para leer cosas nuevas. Por ese motivo el eyetrack no indica el mejor sitio para colocar el contenido “caliente”, el que queremos que los usuarios vean.

Unos de los enlaces que más se muestran en los blogs de toda la blogosfera son los X últimos posts. Ya que esto permite a los usuarios se enlazen con posts anteriores que puedan complementar su busqueda o simplemente que les parezcan interesantes.

¿Como montar esto?

Montar el código necesario para mostrar los últimos X posts es relativamente facil ya que wordpress incorpora una función para realizar dicha función, aunque han salido varios plugins (que a mi juicio no hace nada más que cargar más el sistema).

El código sería el siguiente:

  <?php get_archives('postbypost','20','custom','<li>','</li>'); ?>
  
o <?php wp_get_archives('type=postbypost&limit=20&format=html'); ?>

Realmente facil, pero veremos que son cada uno de los parametros y como modificarlos para adaptarlos a nuestro theme.

Explicacion

Para realizar dicha función tenemos 2 funciones que realizan la mismo función, la única diferencia entre ellas es la forma de pasar los parametros, get_archives era la versión de WP 1.5 y anteriores y wp_get_archives es la versión más moderna, pero la funcionalidad es exactamente la misma.

La clave para que nos muestre los últimos posts es la definición de tipo como postbypost, de esta forma estamos indicando ha de mostrar los archivos de formato posts por post. Despues el siguiente paremtro hace refencia al número de posts a mostrar en este caso 20 posts. Y después ya indicamos el formato en que queremos que aparezcan los posts, en este caso en lista (<li></li>).

Pero esto no termina asi, hay muchas más opciones que me parecen interesante conocer. Para promover que se comienzen a usar las nuevas versiones voy a explicar el uso de wp_get_archives.

Uso

<?php wp_get_archives('argumentos'); ?>

Argumentos

type –  Este atributo define el tipo de enlaces que queremos mostrar, tenemos 4 posibles valores para dicho parametro.

  • monthly – Nos muestra los enlaces por meses.
  • daily – Nos muestra los enlaces por días.
  • weekly – Nos muestra los enlaces por semanas.
  • postsbypost – Nos muestra los enlaces por entradas (o posts).

limit – Número máximo de entradas a mostrar

format – Formato de salida de nuestros enlaces.Tenemos 4 valores básicos.

  • html – Nos crea un lista básica (<li></li>).
  • option – Nos muestra la lista en formato option (<option></option>).
  • link – Nos genera entradas (<link></link&gt).
  • custom – Permite que se pueda definir por el usuario

before – Texto que se coloca delante de cada enlace, solamente usado en custom o html.

after - Texto que coloca detrás de cada enlace, para custom o html.

show_post_count – Nuestra el número de posts en caso de indicar monthly.

Resultado

Bueno, ya sabiendo como funciona vamos a montar un código para mostrar nuestros últimos X posts en nuestro sidebar.

Primero tendremos que abrir el fichero sidebar.php de nuestro theme y añadir el siguiente código donde queramos que aparezca.

  

<h2>Ultimo 10 posts</h2> <ul> <?php wp_get_archives('type=postbypost&limit=10&format=html'); ?> </ul>

Esto es solo un ejemplo, quizas tu theme necesite otro formato.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.