Mac Command, de Hannah Joshua

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:

Instalar WordPress en un contenedor Docker
Instalar WordPress en un contenedor Docker.

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.

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.

2 respuestas a «Cómo gestionar WordPress desde la línea de comandos con WP-CLI»

  1. Avatar de EduMag
    EduMag

    Gracias, me ha sido muy útil para poder tener wp-cli en local.

Deja una respuesta

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

He leído y acepto la política de privacidad de Nelio Software

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.