Contenido

Mostremos nuestros últimos X posts

11 Jun

+ 22

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.

Muy interesante… No conocía esta opción y ya he podido quitar el plugin.

Muchas gracias por compartirlo… :)

muy buen apunte anieto, pero tengo un par de preguntas :)
por ejemplo se puede mostrar a partir de un numero de post, quiero decir que me muestre los post del 11 al 20, ya que los diez primeros ya estan en la portada

y otra cosa, donde se puede mirar las funciones que existen en wordpress?

muchas gracias anticipadas

Pues la verdad es que no tengo ni idea, y sería interesante implementar algo asi.

Dejame que llegue a casa y desguace la función a ver si recibe algún parametro más.

Tenemos el codex de Wordpress donde tenemos toda la documentación, un poco mal estructurada, pero esta casi toda.

Un saludo

Vale, he podido mirar la función y no es posible pasarle en post de inicio en el que buscar.

¿Habrá que hacer un plugin?

Una pregunta, Hola anieto, existe la forma de saber cual es lo mas leido, que post son los mas leidos y si se puede poner como un plugin o similar, es decir para que la gente lea lo mas leido, que seguramente es lo que mas gusto. Muchas Gracias! exelente la pagina ;)

Como se activa el gravatar ? ultima, borrela si quiere! saludoss

Los más leidos creo que tienes que usar un plugin, ya que wordpress no guarda los clicks realizados en los enlaces.
Pero puedes mostrar los más comentados.

El tema del gravatar lo pilla del mail que usas para comentar, no se por que no sale, pero no eres el único. Este finde lo miraré.

Estimado amigo.-
Agradezco enormemente este aporte. Soy nuevo en wordpress; desconocedor del php y con muchas dificultades para configurar particularizadamente mi sitio.
Estaría muy agradecido si, al igual que has hecho con esta función, describes la de incorporar los últimos comentarios.
Gracias anticipadas.

Artea chequea el link de mi respuesta anterior. Hay que saber un poquito de ingles :S pero bueno tal te ayude! ;)

Mosk, para activarlo debes poner tu direcciñon de Correo no la ruta del gravatar.

Un saludo.

El unico problema que tienen los dos (get_archives y wp_get_archives) es que no se pueden excluir categorias de forma simple - y de forma compleja tampoco. ¿Que uso tendria? Facil, si tenemos una categoria de Asides, o Mini-blog, no tiene sentido que se vea tambien en los ultimos posts.

Recomiendo usar el plugin Customizable Post Listings para algo asi, lo vengo usando desde hace mucho y es increiblemente bueno.

Quizá un dato, en mi caso mi blog me causo error solamente por el Apostrofo… y es válido así

Órale, que buen tutorial!
No sabes las horas que había pasado instalando y desinstalando plugins y la solución era tan sencilla. Gracias por el tip! Saludos!

A ver si sabes resolver mi duda:
Quiero poner en pagina aparte todos los archivos del blog como en http://juglar103.blogsome.com/archivos/ pero que se separe por meses, es decir:
junio
art 3
art 2
art 1
mayo
art5

Supongo que el código de partida es el que indicas, pero no sé si llega a dar tantas opciones. Como lo ves?

Hay alguna manera de llamar a esta función fuera del Blog, es decir, yo estoy armando la web para el Blog y quería dedicarle un espacio a los últimos 10 títulos de los artículos del Blog…

Me explico?

Saludos, y muy buena información…

#15 Claro, puedes hacerlo, con un simple include del wp-blog-header.php, que integra todo lo que necesitas para aprovecharte del código de Wordpress.

Bueno, a ver si me podes ayudar, se puede hacer esto mismo pero por cada autor del blog ? como seria el codigo ? desde ya gracias Andres :D

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.


Cerrar
Enviar por Correo