agosto 13, 2020

Crear aplicaciones de WordPress de una página sin API REST

Presentamos cómo crear aplicaciones de WordPress de una página sin API REST, la cual ha sido una inquietud porque existe la posibilidad de desaprovechar diversas comodidades que ofrece WordPress, sin embargo, para hacerlo posible se puede utilizar Inertia.js.

¿Qué es Inertia.js?

Es una biblioteca de protocolos que da la capacidad de utilizar aplicaciones de renderizado tradicionales del lado del servidor junto con el framework de JavaScript de predilección.

Inercia da la capacidad de crear aplicaciones de una sola página totalmente renderizadas del lado del cliente, sin mucha de la complejidad que viene con los SPA modernos. Y esto se puede hacer aprovechando los marcos existentes del lado del servidor.

Además no tiene enrutamiento para el lado del cliente ni requiere una API, así como tampoco es un framework, ni es un reemplazo de los que existen del lado del servidor o del lado del cliente. Está diseñado para funcionar con ellos.

“Piense en la inercia como un pegamento que conecta los dos. La inercia hace esto a través de adaptadores. Actualmente tenemos tres adaptadores oficiales del lado del cliente (React, Vue.js y Svelte) y dos adaptadores del lado del servidor (Laravel y Rails).”

Para más información puede dar clic aquí.

Inertia.js
Capacidades de Inertia.js

La cuestión

El problema que se puede presentar es que no hay soporte oficial de Inercia para WordPress. A pesar de la forma en que WP maneja diversas cosas desde el primer momento.

Se puede disfrutar de la jerarquía de plantillas de WP y la paginación incorporada y la posibilidad de tirarlo todo para construir un SPA usando marcos JS modernos como Vue, React o Svelte no es nada confortable.

La solución

Con inspiración en el adaptador oficial para esta cuestión, se pudo crear un complemento de WordPress que permite usar los adaptadores de inercia oficiales del lado del cliente, aquí la referencia

<?php

use BoxyBird\Inertia\Inertia;

/**

* Sample plugin code

* /wp-content/some-theme/index.php

*/

return Inertia::render(‘Index’, [

    ‘posts’ => $wp_query->posts,

]);

Comprobación

A continuación, presentamos una demostración usando Vue.js para resaltar algunas de las características de los complementos

Entre algunas conclusiones clave de la demostración podemos decir:

  • Sin enrutamiento del lado del cliente se puede emplear la jerarquía de plantillas nativas de WordPress.
  • No hay gestión estatal de Vuex. Prop datos proporcionados por WP_Query ().
  • Se recomienda utilizar la paginación nativa de WordPress.

Leíste: Crear aplicaciones de WordPress de una página sin API REST, te recomendamos: Cómo guardar fuentes de Google en el servidor local

Te invitamos a que nos sigas en nuestras redes sociales: Facebook, Twitter, Instagram y Youtube con el perfil: @tortugacode