Como mostrar los últimos posts de tu blog

Como mostrar los últimos posts de tu blog en tu web

Hoy vamos a ver cómo mostrar los últimos posts de tu blog, a veces nuestra web principal no está hecha con WordPress, y el blog es un añadido a nuestra web principal.

Y en ese caso quizás queramos mostrar los últimos posts de tu blog, para conseguir un buen interlinking y que Google nos tome en cuenta.

Conectar con la Base De Datos

El primer paso a realizar es tan simple como importante, debemos conectar con la base de datos donde tengamos nuestro WordPress.

Los datos de conexión, nos lo debería proporcionar nuestro proveedor del servicio ya sea desde el panel de administración de nuestro producto o bien sea por algún email que nos hayan enviado, o bien solicitandoselo a ellos por teléfono o email.

Una vez tengamos los datos de conexión deberemos hacer lo siguiente:

Usaremos una conexión con PDO, y que las funciones como mysql_connect está totalmente obsoleta y anticuada.

Os he dejado el ejemplo, pero cada cual puede usar la conexión como quiera 🙂 simplemente quiero hacer el ejemplo completo.

Hacemos la consulta

Ahora generamos la consulta para acceder a los últimos posts.

En esta consulta, cogemos lo que es el título del post y el nombre del post, que es lo que a mi me hacía falta

Aunque también podríamos coger más datos, como el contenido del post (post_content), la fecha del post (post_date), hay más datos, pero estos creo que son los más importantes.

Pero yo solo cojo, el post_title y el post_name. El primero

La tabla a la que accedemos en este caso es: “wp_posts“.

Podría ser que al instalar tu WordPress, hubieras puesto otro tipo de sufijo o ninguno llamándose la tabla, simplemente: “posts“.

Puede ser que al instalar el WordPress, o con la instalación que os hayan hecho, se haya añadido un sufijo a las tablas de WordPress. Así que si por ejemplo  habéis puesto como sufijo “blog” pues la tabla se llamará “blog_posts“.

Luego filtraremos por los posts que hayan sido publicados usando la condición “post_status = ‘publish’” ya que no creo que nos interese que la gente vea los posts que aún no hemos publicado.

Añadimos también la condición “post_type = ‘post’” donde estamos seleccionando que lo que mostremos sean tipo posts, ya que tenemos otras muchas opciones como:

  • Revision
  • Attachment
  • Page
  • Customize_changeset

Y seguro que alguno más…

Y aquí lo único que nos interesa es el post final, no queremos ni revisiones ni páginas.

Para acabar los he ordenado por fecha (post_date)  de forma descendiente, de post más nuevo a más viejo.

Y por último limitamos la consulta a 5 posts, usando LIMIT 0,5, aunque cada cual puede poner ahí lo que quiera por supuesto.

Mostramos los últimos posts

Y ya por último y no menos importante pues mostraremos estos últimos 5 posts en nuestra web.

Simplemente recorremos la variable donde tenemos el resultado de la consulta, y mostramos como queramos.

En mi caso he puesto un h2, anunciando el título de la sección y luego muestro los posts con un listado usando ul y li.

Para generar la url del enlace, cogemos la url principal de nuestro blog, en mi caso http://www.oyagum.com/articulos/ y le añadimos el valor de post_name, que es el nombre del enlace que usamos para el post.

Y usamos la variable post_title que es la que almacena el título de nuestro post.

Como veis, es bastante fácil y simple, espero que os haya servido y si algo no ha quedado claro, preguntad e intentaré explicarlo lo mejor posible.

Y recordad! No olvidéis comentar! Vuestro código y en el blog 😉

Comparte si te ha gustado:
Share on Facebook
Facebook
0Share on Google+
Google+
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg
2 Comments

    MM

    Hola! Llevaba bastante tiempo buscando una solución para esta problemática y no la encontraba a no ser que fuera vía RSS, y no me convencía el resultado ni tener que instalar un plugin para ello… Así que, muchas gracias por este post!
    Lo malo, que soy bastante inexperto en php y necesito más detalles… jejeje
    Lo que necesito hacer es mostrar en la página de inicio un bloque de últimas noticias (que serían los últimos posts de otra instalación de WP)… Sé que para muchos será una pregunta de cajón, pero… dónde incorporo los dos primeros bloques de código php?

    Muchas gracias!

      Alberto

      Buenas MM,

      Primero darte las gracias por comentar en el blog y me alegro que te haya podido ayudar el post.

      Y vamos con tu duda:

      En un principio tienes que implementar los dos primeros bloques de código allí donde fueras a mostrar los últimos posts de WordPress y poner los datos de conexión de tu otra instalación de WordPress.

      Lo que te puedes encontrar es que depende si son servidores distintos no te permita hacer una conexión de MySQL desde otro servidor distinto, ahí es donde te puede surgir el problema.

      Pero en un principio simplemente metiendo ese código en el tuyo y metiendo los datos de tu conexión de WordPress, debería funcionarte.

      Cualquier cosa me dices, un saludo 🙂

Deja un comentario

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

*
*