Consumir api desde wordpress

Ejemplo de api de descanso de WordPress
Contents
Tengo un cliente que tiene un sitio web en WordPress, y quiere ampliarlo para añadir nuevas funcionalidades. Estas funcionalidades están incluidas en una web que ya tengo hecha (una especie de buscador sobre una base de datos, con algunos filtros), y que está en fase de nuevas mejoras.
Lo que estoy planeando hacer es crear una api json de mi sitio web (con todas las funciones de búsqueda sobre mi base de datos), y hacer que el sitio web de wordpress consuma esta api, entonces sólo tendré que crear vistas para mostrar los resultados de la búsqueda.
Lo principal a tener en cuenta: todo es sólo PHP. Y también: no edites los archivos del núcleo de WordPress, porque te meterás en problemas cuando actualices a una versión más reciente más adelante. El único código que debes editar es el de los plugins y el de los temas.
Si sólo necesitas añadir algo a una página existente, puede que funcione con sólo editar el archivo del tema adecuado. Sin embargo, si necesitas hacer algo avanzado (y añadir una "vista" extra, como en una URL específica, es más avanzado en WordPress), necesitas añadir el código en un lugar que se cargará antes en el proceso de arranque de WordPress.
WordPress rest api
En este artículo, te enseñaremos los fundamentos de la API REST de WordPress. Veremos lo que hace, cómo funciona y qué cambios ha traído a la plataforma. Por último, hablaremos de algunas de las cosas que puedes hacer con ella.
Cuando la API REST fue finalmente añadida al núcleo de WordPress, fue el final de un largo viaje. Muchos han anticipado este cambio como el mayor paso adelante para WordPress en la historia de la plataforma. Sin embargo, si no estás familiarizado con la API REST, puedes estar confundido por toda la atención que está recibiendo.
En resumen, la adición de la API REST de WordPress convirtió a la plataforma en un marco de aplicación con todas las funciones. Esto aumentó significativamente su "extensibilidad", o su capacidad de ser ampliado con nuevas características y capacidades. Además, amplió el potencial de la plataforma para comunicarse con otros sitios y aplicaciones.
Entonces, ¿qué es específicamente una API REST? La Transferencia de Estado Representativa (REST) es un tipo de API específico de los servicios web. Contiene un conjunto estandarizado de instrucciones y reglas que facilita la conexión entre todos los servicios "RESTful".
WordPress obtiene datos de rest api
Saltar al contenidoHay un montón de APIs REST gratuitas y de pago que proporcionan acceso a datos y servicios. Puedes conectarte a ellas para crear tus propias aplicaciones basadas en la web. Aprenda a añadir algo de código a su sitio web de WordPress para consumir datos de una API REST externa, y luego mostrarlos en su sitio.Para este tutorial, vamos a extraer algunos datos del sitio web Flipsum Ipsum, que es un generador de Ipsum gratuito. Básicamente, es un generador gratuito de jerigonza importantePara seguir este tutorial, necesitarás usar un tema hijo personalizado para poder editar tu functions.php.Cómo funcionaVamos a crear un shortcode que extraiga algo de jerigonza del sitio Flipsum Ipsum y luego lo represente en la salida HTML de vuelta al navegador. El shortcode se llamará [flipsum_ipsum] y tomará los siguientes parámetros: El acceso a las APIs REST utiliza exactamente el mismo proceso que el acceso a las páginas web. Todo lo que tenemos que hacer es crear una URL, solicitar esa URL desde el servidor correspondiente, y luego procesar el resultado. El resultado de la API estará en formato JSON, que PHP puede convertir en un array para nosotros. La API de Flipsum Ipsum es fácil de usar. Aquí hay un ejemplo de URL que devuelve 5 párrafos de Fairy Tale Ipsum.https://flipsum-ipsum.net/api/icw/v1/generate?ipsum=fairy-tale¶graphs=5Let's Write some CodeEn la carpeta de tu tema hijo personalizado, crea un archivo llamado shortcode-ipsum.php y pega lo siguiente en él.<?php
El plugin de WordPress obtiene datos de la api
.then(posts => console.log(posts));2. Consulta de la API REST de WP desde ReactPara empezar rápidamente con React, ejecuta este comando en una terminal:npx create-react-app react-appNota que npx se proporciona con Node.js para ejecutar comandos sin instalarlos globalmente.Luego, añade material-ui al proyecto ( cd react-app then npm install @material-ui/core ).Para consultar los datos de los posts, añade el siguiente componente Posts:import React, { useEffect, useState } from 'react';
}He extraído los Hooks anteriores en una función y le he dicho a useEffect que se ejecute de nuevo cuando la URL obtenida cambie. Así es como se puede crear cualquier gancho React personalizado: exportar la función por defecto Posts() {
}3. Ahora que tenemos un código React básico para consultar la API REST de WP, vamos a añadir un nuevo tipo de datos. Todo ello irá en un nuevo archivo PHP en wp-content/plugins/my_plugin.php.Comenzando con meta comentarios como este:<?php
*/Para el caso de esta demo, decidí crear un tipo de curso que representara un curso online de una plataforma de aprendizaje.Nunca podría explicar todas las opciones disponibles al crear tipos de post personalizados. Para ello, podrías sumergirte en la documentación de WP o utilizar un generador.Sea cual sea la forma que prefieras, aquí tienes una versión mínima de mi declaración de tipo de curso, luego explicaré las partes relevantes:function generate_course_type() {