WordPress a partir de la versión 4.7 ya trae integrada en el Core una API REST. Esta API ya está habilitada por defecto.
Endpoints
URL base
https://devseo.xyz/wp-json/
Endpoint WordPress
https://devseo.xyz/wp-json/wp/v2/
Endpoint YoastSEO
https://devseo.xyz/wp-json/yoast/v1
Obtener posts
https://devseo.xyz/wp-json/wp/v2/posts?page=1
https://devseo.xyz/wp-json/wp/v2/posts?page=2
Obtener páginas
https://devseo.xyz/wp-json/wp/v2/pages?page=1
https://devseo.xyz/wp-json/wp/v2/pages?page=
Contenidos
Autenticación JWT
Una manera segura de autenticarnos y realizar operaciones con la API es mediante tokens JWT. Para habilitar este mecanismo de autenticación debemos hacer algunos ajustes.
- Instalar el plugin JWT Authentication for WP REST API
- Habilitar el encabezado de autorización en el header. Añadir este código al .htaccess
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
- Habilitar WPENGINE. Añadir esto al .htaccess
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Por último tenemos que definir la clave secreta que necesita JWT para funcionar. Este clave es privada y nunca puede ser revelada.
Para configurarla editaremos el archivo wp-config.php añadiendo el siguiente código:
define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key');
Puedes generar una clave desde aquí.
Actualizar meta etiquetas del post
Desde la API de WordPress podemos actualizar metaetiquetas del post como title y description. Sin embargo si tenemos instalado un plugin de SEO como Yoast SEO no podremos actualizar directamente esta información.
Para soportar las metaetiquetas en la API de WP con Yoast SEO instalaremos el plugin REST API Meta Support, el cual nos brinda acceso directo a las metaetiquetas a través de las siguientes propiedades:
{
...
'meta': {
'yoast_wpseo_title': "Meta-title del post"
'yoast_wpseo_metadesc': "Meta-description del post"
}
...
}