Desarrollo web PHP: API de WordPress

Back to Blog

Desarrollo web PHP: API de WordPress

En el siguiente texto, nos gustaría abordar de una forma clara todo lo que supone trabajar con la Interfaz de Programación de la Aplicación (API, por sus siglas en inglés) de WordPress, cómo usar sus ganchos (hooks) y su importancia para un correcto diseño web.

La función principal de estos ganchos que nos ofrece la plataforma WordPress es la de tener la capacidad de permitir que nuestro plugin se incorpore de una manera sencilla, sin crear ningún tipo de inconveniente. Tienes que saber que existen básicamente dos tipos diferentes: acciones y filtros.

Las primeras serán un tipo de gancho que son ejecutados en puntos específicos (o cuando se da una determinada situación) por parte del núcleo de WordPress. Por su parte, los filtros podrán ser utilizados para modificar texto de varios tipos antes de que sea agregado a la base de datos o enviado a la pantalla del navegador.

Aunque a simple vista parezcan completamente diferentes, lo cierto es que en ocasiones tendremos la posibilidad de conseguir el mismo resultado utilizando uno o el otro indistintamente. A continuación te explicamos estos dos ganchos de una manera mucho más amplia.

Desarrollo web PHP: La API de WordPress Clic para tuitear

Acciones

Las acciones son ganchos específicos para ciertos eventos que ocurren en WordPress. Los más habituales pueden ser el de publicar una nueva entrada en nuestro site, cambiar el tema o mostrar una página en el panel de administración.

Por lo tanto, el plugin será capaz de dar una respuesta adecuada al ejecutar una función de PHP. Entre las principales nos podemos encontrar con una modificación de la información en la base de datos, el envío de un email o cambiar lo que se muestra en la pantalla del navegador.

Para conseguir esto, tendremos que realizar unos pasos importantes:

  1. Crear la función PHP que deberá darse en nuestro plugin cuando tenga lugar el evento
  2. Enganchar la acción correspondiente a WordPress con add_action
  3. Llevar a cabo una correcta integración del plugin a WordPress activándolo desde nuestro panel de administración

Bien. Hasta aquí tenemos bastante clara la importancia de las acciones de la API de WordPress en el desarrollo y diseño web. Pero, ¿cómo se crea una?

Lo primero que tendremos que hacer es determinar la funcionalidad PHP deseada y guardarla en el directorio wp-content/plugins del servidor. Antes hablábamos de la opción de poder enviar un email cada vez que publicáramos algo, por lo que la función podría ser algo así:

function email_amigos($post_ID)  {

    $amigos = ‘bob@ejemplo.org,susie@ejemplo.org’;

    mail($amigos, “Blog de Luz actualizado”,

      ‘He publicado algo en mi blog: http://blog.ejemplo.com’);

    return $post_ID;

}

Tras esto, como hemos mencionado con anterioridad, tendremos que engancharlo a nuestro WordPress. Esto implicará simplemente registrar la función llamando a add_action() en el espacio de ejecución global de tu Plugin:

add_action ( ‘nombre_del_gancho’, ‘tu_accion’, [prioridad], [argumentos] );

En esta ocasión, el parámetro “nombre_del_gancho” será el que designe a la acción provista por WordPress, informando a qué evento queremos asociar nuestra función. Por su parte, “tu_accion” es el nombre de la función que se ejecutará al tener lugar el evento especificado.

En tercer lugar, “prioridad” es un dígito que podremos utilizar (o no) para señalar el orden en que nos gustaría que fueran ejecutadas todas las funciones asociadas con la acción. Cuanto más bajo sea este valor, más temprano tendrá lugar la ejecución.

Por último, “argumento” (accepted_args) definirá cuántos argumentos podrá aceptar la función. Su utilidad radica en que un mismo gancho tendrá la capacidad para transmitir más de uno.

 Si continuamos con el ejemplo que estamos tratando en este artículo, tendríamos que preocuparnos en añadir una línea a nuestro plugin como la siguiente:

add_action(‘publish_post’, ’email_amigos’);

Por último, nos encargaremos de instalar y activar. Tanto la función como la llamada han de estar juntas en un archivo PHP, que a su vez instalaremos en el directorio wp-content/plugins.

Filtros

Los filtros serán funciones que podrán realizar una transmisión de datos en ciertos puntos durante la fase de ejecución antes de que sea realizada alguna acción. Se encontrarán entre la base de datos y el navegador cuando WordPress genere páginas, y entre el navegador y la base de datos cuando se esté agregando entradas y comentarios.

Es importante que tengamos en cuenta que la inmensa mayoría de los datos, independientemente que sean entrantes o salientes, han de pasar, por lo menos, por un filtro en WordPress.

Para poder crear y añadir nuestros propios filtros, tendremos que crear la función PHP, engancharlo e integrarlo en la página de administración.

Como hemos dicho, el primer paso tendrá que ser el establecimiento de la función PHP que se encargará del filtrado y el guardado en el archivo de nuestro plugin, siendo instalado en el directorio wp-content/plugins.

Después de haber terminado el paso anterior y haber definido correctamente la función, nos encargaremos de registrarla con WordPress. Para ello, tendremos que hacer uso de la llamada add_filter en el espacio de ejecución:

            add_filter(‘nombre_del_gancho’, ‘tu_filtro’, [prioridad], [argumentos]);

En último lugar, para asegurarnos que nuestro filtro va a funcionar de una forma correcta y completa, tendremos que instalarlo y activarlo. Tenemos que recordar que tanto la función PHP escrita como la llamada add_filter tendrán que estar juntas.

Como habrás comprobado, con la API de WordPress tendremos un gran aliado para el desarrollo y diseño web en PHP.

Para terminar, tienes que saber que en algunos casos, desearemos que nuestro plugin se encargue de deshabilitar una acción o un filtro. Esto será posible utilizando remove_filter(‘filter_hook’,’filter_function’) o remove_action(‘action_hook’,’action_function’).

Si tienes alguna duda o estás interesado en implementar esta mejora, contacta con nosotros y te atenderemos de la forma más profesional y eficaz posible.

Share this post

Deja una respuesta

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

Back to Blog