A principios de mes publiqué una entrada sobre Docker en el desarrollo en local de WordPress, donde te explicaba cómo instalarlo, configurarlo y usarlo. La principal ventaja de Docker era que teníamos cada instalación de WordPress encapsulada y aislada de las demás dentro de un contenedor que, si recuerdas, arrancábamos con un sencillo docker-compose up -d
. Fácil, sencillo y para todas las edades.
Ahora bien, la primera vez que ponías en marcha el contenedor Docker (o si lo eliminabas usando docker-compose down
), tenías que pasar por el proceso de instalación de WordPress:

y aunque estarás conmigo que no es excesivamente difícil de realizar (al final, es cuestión de seleccionar el idioma y poner la información del usuario de administración), es un poco aburrido tener que hacerlo desde el navegador web.
Cuando escribí esa entrada estuve pensando en que lo siguiente que tenía que contarte era, precisamente, cómo gestionar las instalaciones WordPress desde la propia línea de comandos. ¿Te imaginas qué gozada poder configurar WordPress desde el terminal, instalar temas, plugins, actualizarlos, borrarlos, gestionar usuarios…, sin salir de nuestro amado terminal? Pues eso es lo que te voy a contar hoy, amigo: cómo usar WP-CLI para gestionar instalaciones WordPress desde la consola.
Qué es WP-CLI
La línea de comandos es la mejor amiga de todo desarrollador: todo lo que puedas hacer escribiendo por pantalla y sin depender de un ratón es más eficiente. WP-CLI (WordPress Command Line Interface) trae la gestión y el mantenimiento de WordPress a nuestra línea de comandos, siendo, pues, un componente indispensable para cualquier desarrollador que quiera optimizar seriamente su tiempo. Con WP-CLI podrás actualizar plugins, configurar instalaciones multi-sitio y muchísimas cosas más sin tener que usar un navegador web.
Instalación de WP-CLI
En la popia documentación del proyecto nos explican cómo instalar WP-CLI. Existen muchas opciones para hacerlo, pero la más sencilla quizás sea descargarnos el «ejecutable» directamente:
y lanzarlo usando PHP:
Si queremos usar el comando de una forma más «amigable», podemos darle permisos de ejecución y moverlo a algún directorio que esté en nuestro $PATH
:
y a partir de entonces podremos ejecutarlo así:
Por cierto, para poder usar el comando wp
que acabamos de «crear» y que afecte a la instalación de WordPress que te interesa, ejecútalo desde el directorio raíz de dicho WordPress:
WP-CLI en Docker
Supongamos que estás interesado en usar WP-CLI en tu ordenador de desarrollo, para gestionar los diferentes proyectos con los que trabajas. Si seguiste mi guía de hace unas semanas, probablemente quieras usar Docker para gestionar todas tus instalaciones. Pues veamos ahora cómo podemos usar WP-CLI en Docker, de tal forma que el binario WP-CLI esté dentro del propio contenedor y podamos evitar su instalación en nuestra máquina anfitriona.
Idealmente, la propia imagen de WordPress que usamos debería incluir WP-CLI. Por desgracia, este no es el caso de momento y para conseguir tener WP-CLI en la imagen oficial de WordPress tenemos que hacer algunas triquiñuelas (tal y como puedes leer aquí, en la sección donde hablan de WP-CLI).
Mientras esperamos a que la imagen oficial de WordPress para Docker incluya WP-CLI, lo que podemos hacer es crear las instalaciones de desarrollo usando una imagen diferente. Así, en nuestro docker-compose.yml
, en lugar de usar:
podemos usar:
¡Y listo! Ejecutando docker-compose up -d
pasaremos a tener una imagen de WordPress con WP-CLI. El único problema que tenemos ahora es que WP-CLI está dentro del contenedor, en la «máquina huésped», y nosotros estamos usando nuestro terminal en la «máquina anfitriona».
Para ejecutar un comando de la máquina huésped desde nuestra máquina anfitriona debemos usar el comando docker-compose
tal que así:
Por ejemplo, supongamos que estoy trabajando en nuestro plugin de Nelio Content, el cual tengo metido en un directorio llamado nelio-content
. Si recuerdas, en el fichero docker-compose.yml habíamos definido dos servicios: uno para WordPress (al que llamamos wordpress
) y el otro para la base de datos MySQL (al que llamamos mysql
). Pues bien, como WP-CLI está en el contenedor de WordPress, debemos ejecutarlo tal que así:
Como esto es un poco pesado, podemos crearnos un alias
:
y ejecutarlo tal que así:
Comandos en WP-CLI
Vale, ahora que ya tenemos instalado WP-CLI y sabemos cómo invocarlo, es hora de ver algunos ejemplos de lo que nos permite hacer.

Nelio Content
Estoy tan contento con Nelio Content que parece que me hayan pagado para hablar bién de él… pero es que también a ti te encantará: funciona como prometen, la programación automática de mensajes es increíble, la calidad/precio no tiene parangón y su equipo de soporte se siente como si fueran parte del tuyo.

Panozk
Tipología de un comando
Ya lo he adelantado con los ejemplos anteriores, pero en general los comandos de WP-CLI tienen la siguiente forma:
En la documentación tienes información sobre todos los comandos que hay disponibles, sus parámetros y cómo usarlos. No olvides tenerla a mano para consultarla cuando lo necesites.
Gestión de WordPress
Instalación
Tal y como te he avanzado en la introducción, lo primero que tienes que hacer cuando inicias un nuevo contenedor Docker con WordPress es finalizar el proceso de instalación de WordPress. Con WP-CLI, esto es tan fácil como ejecutar el siguiente comando:
Actualización de WordPress
Si queremos actualizarnos a la última versión de WordPress, basta con ejecutar:
Y si queremos volver atrás, podemos forzar una cierta versión con el siguiente comando:
Gestión de plugins
Otra tarea bastante habitual a la que nos enfrentamos cuando trabajamos con WordPress es la gestión de plugins. Siguiendo el hilo de la sección anterior, después de instalar WordPress tenemos varios plugins que no nos interesan y que querremos borrar, así como activar aquellos con los que queremos trabajar. Veamos cómo hacerlo.
Listar los plugins disponibles
Si quieres ver los plugins que tienes instalados, ejecuta el subcomando list
del comando plugin
:
En mi caso, esto devuelve:
Borrar plugins
Para borrar plugins que no te interesen, únicamente tienes que lanzar el subcomando delete
y especificar los plugins que quieres borrar:
Activar plugins
Y para activar un plugin, simplemente haz lo mismo usando el subcomando activate
:
Instalar plugins
Para instalar un plugin nuevo, podemos hacerlo de la siguiente forma:
y WordPress se descarará el plugin del directorio de plugins en WordPress.org y lo activará automáticamente. Facilísimo, ¿verdad?
Gestión de temas
La gestión de temas es equivalente a la que acabamos de ver para los plugins. Podemos listar los temas que tenemos instalados, activarlos, eliminarlos, etc. Por ejemplo, para listar los temas disponibles tenemos el siguiente comando:
que nos da el siguiente resultado:
Si te fijas, el tema que tenemos activo es el twentyseventeen
. ¿Puedes imaginar cómo cambiar a otro tema? Muy fácil:
¿Y si queremos actualizar los que están pendientes de actualizarse?
¡No me digas que no es una pasada!
Y ahora, ¿qué?
Esto ha sido una pequeña introducción al uso de WP-CLI. Si quieres ahondar más en las posibilidades que ofrece, en WordPress.org encontrarás toda la documentación sobre esta herramienta: cómo instalarla, cómo configurarla y cómo usarla. Te recomiendo que leas con calma la documentación y sigas descubriendo por tu cuenta el potencial de WP-CLI.
Imagen destacada de Hannah Joshua en Unsplash.
Deja una respuesta