AJAX WordPress (11) en las taxonomías (II)

Seguimos el tema de las taxonomías que empezamos el pasado artículo de la serie ‘Crear un plugin desde 0’, y en este vamos a implementar AJAX WordPress para modificar la base de datos con las operaciones que habíamos previsto en nuestro plugin para las carpetas: nueva, editar, mover, copiar y eliminar.

Desarrollo de la idea

Introducción a AJAX

AJAX no es un lenguaje de programación, sino una técnica de programación. AJAX, fundamentalmente, nos permite realizar una consulta desde nuestro navegador al servidor, simultaneando la continuidad en la ejecución de la página web que visualizamos en nuestro navegador. Cuando el servidor dispone la respuesta a la consulta, la envía al navegador, el cual actualiza el elemento seleccionado, pero sin detener la ejecución del resto del código de la página.

Antiguamente, cuando rellenabas un formulario en una página web, al clicar en el botón de enviar, éste era enviado al servidor, que verificaba la corrección de los datos y, en caso de haber alguno incorrecto, nos volvía a mostrar el mismo formulario con los campos erróneos.

Actualmente, con AJAX, puedes realizar las verificaciones cada vez que el usuario rellena un campo, mientras éste sigue rellenando los campos restantes. De esa manera, la verificación se realiza más rápidamente y el proceso es más fluido y agradable para el usuario.

Implementación de AJAX WordPress

El uso de AJAX WordPress no dista mucho del método habitual con JavaScript. En este caso, como vamos a ver a continuación en el apartado de ‘Codificación’, lo haremos a través del archivo ‘admin-ajax.php’. Pero que conste que en este artículo sólo voy a mostrar la codificación básica de AJAX WordPress. Si queréis estudiar mejor cómo he desarrollado el código, tenéis a vuestra disposición el código del plugin anexo.

Si además queréis estudiar más sobre AJAX WordPress, podéis leer el siguiente artículo.

 

Codificación

El enqueue de los scripts de AJAX WordPress

En primer lugar, vamos a hacer un enqueue ( ‘poner en cola’ ) de los scripts necesarios para el funcionamiento de AJAX. Además, debemos indicar a WordPress la ubicación del archivo admin-ajax.php que es el que se encarga de la administración de AJAX WordPress. Finalmente, debemos indicar el nonce, es decir, una contraseña que se utiliza una sola vez ( once ).

 

Nuestro script jQuery

Realizado en un fichero aparte, al que vinculamos en el apartado anterior, nuestra función realizará dos sencillas tareas. Primero, recopila los datos necesarios y los envía mediante POST al servidor. Finalmente, se queda a la espera de una respuesta del servidor, para mostrarla por pantalla. La función se llama desde un evento, como por ejemplo, desde los botones de nuestras ventanas modales.

El gestor del lado servidor

Mediante un gancho a un evento AJAX WordPress, enlazaremos una función que, primero, verificará la veracidad del nonce. A continuación, recopilará los datos enviados mediante POST, con los que realizará los cálculos que hayamos previsto nosotros en nuestro algoritmo. Finalmente, devolverá la respuesta solicitada con un echo y finalizará el proceso con wp_die().

Obviamente, este no es el código definitivo de nuestro ejemplo actual, sino que es una prueba previa, algo muy sencillo, para comprobar el correcto funcionamiento de AJAX WordPress, y su resultado es este:

Resultado de la llamada AJAX WordPress
Resultado de la llamada AJAX WordPress

 

Fichero de ejemplo

Como cada semana, lo tenéis disponible en GitHub, y en el grupo de facebook ‘WordPress en Español’.

 

Conclusión y próximo artículo

Ya tenemos funcionales las operaciones con directorios gracias a AJAX.

A partir de aquí, obviamente, tenemos que integrar los attachments, así como las operaciones posibles sobre ellos. Con ello, tendremos casi terminado el pseudo sistema operativo de nuestro plugin.

 

Contributors

La lista de contributors del plugin sigue constante:

miguelthepoohsergiotoca

 

Preguntas, retos y previos

Una buena pregunta sería: ¿Qué consideraciones debemos tener sobre los attachments al realizar operaciones sobre los directorios?

 

En fin, que tengáis una buena semana.

Deja un comentario

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