Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
WP-CLI

WP-CLI Parte 10, crea tus propios comandos

 

Décima y última entrega de la serie de WP-CLI. Hasta ahora hemos visto cómo trabajar con los comandos más útiles, e incluso cómo instalar paquetes de terceros. En esta entrada vamos a ver cómo crear nuestros propios comandos.

Creando nuestros propios comandos podremos automatizar tareas y/o procesos del día a día, o cubrir una necesidad específica nuestra, y ser más productivos.

Los paquetes de comandos (Packages) son a WP-CLI lo que los plugins son a WordPress. Como lo más práctico es verlo con un ejemplo, voy a comentar sobre el ejemplo básico que hay en la documentación oficial, los pasos que hay que seguir para crear nuestro propio comando:

Como puede observarse, existe una clase WP_CLI_Comand, sobre la que podemos crear nuestra propia clase y extender de ella. Simplemente tendríamos que crear una clase nuestra (en el ejemplo Example_Command, y extender de WP_CLI_Comand., y escribir nuestros propios métodos.

Añadiremos el comando simplemente instanciando add_command, y estableciendo el identificador de nuestro comando:

Así, cuando en nuestra consola escribamos wp example, se ejecutará nuestro comando.

A la hora de escribir un comando, las anotaciones PHPDoc entran en juego, es decir, los comentarios tienen un objetivo. Como puede observarse, tenemos un método que se llama hello, y que tiene una serie de comentarios en PHP. Desgranando un poco:

 

Shortdesc

La descripción corta del comando la marca la primera línea del comentario PHPDoc:

 

Longdesc

La descripción larga, o el detalle completo de información, es la parte media del comentario PHPDoc:

Esta información es valiosa, por ejemplo cuando un usuario escriba wp example --help en consola, aparecerá toda esta información.

 

Docblock tags

Esta es la última sección de los comentarios PHPDoc

Aquí, pueden definirse varias etiquetas, vamos a ver algunas de ellas:

 

@subcommand

Para indicar el nombre de un subcomando cuando no puedes nombrarlo igual que una palabra reservada de PHP. Por ejemplo list es una palabra reservada de PHP que bien podría utilizarse como un subcomando, pero no podemos crear un método de nuestra clase con este nombre:

 

@alias

Con alias, podemos definir otra manera de llamar al subcomando. Por ejemplo, en lugar de llamar al subcomando wp example hello, podríamos crear un alias más corto que fuera wp example hi:

 

@when

Esta etiqueta indica a WP-CLI cuando ejecutar el comando. Acepta todos los hooks registrados en WP-CLI:

 

 

Esto es lo básico para entender cual es el camino a seguir para crear nuestros propios comandos. Toda la información y ejemplos más concretos los puedes encontrar en la documentación oficial a la que he hecho referencia anteriormente.

Hasta aquí la serie de entradas relativas a WP-CLI. Como habrás podido ver es una herramienta muy útil que te permite automatizar tareas y aumentar tu productividad. Tiene muchos más comandos de los que yo he comentado, te invito a que visites la web oficial y eches un vistazo por tu cuenta….y sobre todo practica.

Al principio puede echar para atrás, pero después de probarlo y tener un poco de soltura, te preguntarás cómo era posible que estuvieras viviendo sin esto.

Puede que también te interese

La famosa instalación de WordPress en 30 minutos
La famosa instalación de WordPress en 30 minutos
Con este título tuve el honor de participar como ponente en la pasada WordCamp Sevilla 2016, celebrada en la Escuela de Organización Industrial (EOI). Antes…
Cómo eliminar campos personalizados o custom fields que ya no utilizas
Cómo eliminar campos personalizados o custom fields que ya no utilizas
Es algo muy habitual el uso de campos personalizados o custom fields para hacer desarrollos a medida sobre WordPress. También es muy habitual con el…
Cómo redireccionar a una página al usuario cuando se registra
Cómo redireccionar a una página al usuario cuando se registra
Es probable que si en tu sitio tienes abierto el registro de usuarios, quieras redirigir al usuario a una página concreta una vez finalice el…
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…