Saltar al contenido

Cómo usar API REST de WordPress

enero 10, 2020

Hoy por la mañana un compañero de trabajo me pregunto sobre un proyecto que tiene entre manos, desarrollar una aplicación que muestre las noticias que el publica en su sitio web. Su sitio web está hecho en WordPress y quería saber crear una API REST que le devolviera los valores de sus artículos. (La estructura de las bases de datos en WordPress puede llegar a ser un dolor de cabeza si no estás acostumbrado).

WordPress es una herramienta increíblemente popular, y no es para menos, ha tenido un desarrollo muy superior al resto de CMD del mundo y especializándose en prácticamente cualquier rubro. Pero algo que pocos desarrolladores conocen de WordPress, es que podemos tener un API REST integrado, ahorrandonos la necesidad de construir un backend personalizado.

Algunas personas no saben siquiera lo que es un API REST, si tu eres uno de ellos, deberías antes enterarte bien que es y para qué funciona, aquí te dejo un link que puede aclararte de qué va este asunto.

Para los que ya saben lo que es un API REST, y alguna vez han hecho alguno, sabrán los dolores de cabeza que puede suponer hacer esto con PHP o JavaScript, siempre surge algo extraño o un error en los datos en la base de datos o incluso unas simples comillas («») pueden echar a perder todo.

¿Como funciona?

Desde el 2015 WordPress agregó esta funcionalidad en el core del sistema. Pero no ha sido tan explotado como debería. Esta funcionalidad nos permite devolver un JSON con los datos de nuestros articulos o nuestros posts, o incluso categorias, prácticamente los que quieras.

Originalmente se utilizaba un plugin llamado WP REST API pero en la actualidad ya no es necesario usar ningún plugin, ya que la funcionalidad viene incluida al instalar WordPress.

La funcionalidad a pesar de tener varios años, no es tan explotada, ya que muchos programadores no saben que existe. Pero aquellos que la conocemos le hemos sacado mucho partido.

Hacer consultas

Existen varias URLs para hacer consultas a nuestra API REST en WordPress, depende el tipo de información que quieras solicitar (en este artículos solo te mostraré formas para solicitar información, en otro artículos te mostraré como autenticar e incluso hacer modificaciones a tus posts) . Por ejemplo:

Si quieres llamar todos los posts:

http://midominio.com/wp-json/wp/v2/posts/


Si quieres filtrar por categoria es tan sencillo como:

http://midominio.com/wp-json/wp/v2/posts?category=x

(donde x es el valor de la categoría que quieres llamar, puedes ver este valor ubicando el puntero sobre la categoría en el dashboard de WordPress, abajo a la derecha verás el id de la categoria)

Si quieres limitar la cantidad de post que necesitas puedes (donde x es la cantidad de elementos que quieres llamar):

http://midominio.com/wp-json/wp/v2/posts?category=x&per_page=x

Puedes jugar con esto, ponerlos sin la categoria quitantdo argumentos. Se usan como peticiones GET comunes y corrientes. Y como únicamente estas solicitando información, no tendremos riesgo de cargarnos la base de datos, juega con toda confianza.

Conclusiones

WordPress definitivamente piensa en sus usuarios, está pequeña función es realmente muy útil, con ella puedes crear aplicaciones que consumen directamente las noticias de tu sitio web, esto es muy fácil, ya que escribes tu nota, la publicas y listo, tu aplicación ya la actualizó también. Espero te sirva la información, un abrazo y hasta la próxima.