Wordpress CLI
Gestiona Wordpress desde la linea de comandos


Tareas como cambiar la URL o el nombre del administrador son tareas que a veces no son tan sencillas de hacer cuando administras una web basada en Wordpress. Historicamente el proceso a seguir era acceder a la base de datos (MySQL o MariaDB), autenticarte e introducir algunas sentencias en SQL. Es algo que a veces aún tenemos que hacer pero aceptemoslo, conlleva un riesgo de que alguna sentencia deje la base de datos en un estado inconsistente o inservible, obviamente lo recomendable es hace run backup antes de manipular la base de datos.
Existe una mejor forma, más segura y compatible con tu instalación de Wordpress: WP-CLI, el interfaz de linea de comandos oficial de Wordpress.
¿Qué es Wordpress CLI o WP-CLI?
Wordpress CLI o WP-CLI es un interfaz de linea de comandos, es decir, desde un terminal en modo texto, interactuas con tu instalación de Wordpress para realizar tareas administrativas.
WP-CLI fue presentado por Automattic (la compañia detrás de Wordpress) en el año 2011, después de varios años en desarrollo alcanzó su versión estable 1.0.0 en el año 2016. Desde entonces ha pasado a ser un estandar en la administración de instalaciones Wordpress.
¿Qué necesito para usarlo?
No te queremos engañar, necesitas tener unos conocimientos un poco más avanzados de lo habitual, es así porque necesitaras sentirte cómodo usando un entorno Unix (MacOS, Linux, etc…). Aún así te recomendamos que lo conozcas si consideras avanzar en la gestión avanzada de entornos Wordpress.
Te listamos rápidamente los requisitos mínimos para comenzar:
- Entorno Unix (MacOS, Linux, Cygwin, FreeBSD)
- PHP 5.6 o superiores instalado
- Wordpress 3.7 o superiores (Aunque algunas versiones anteriores se pueden usar, no te lo recomandamos por seguridad)
¿Cómo puedo instalarlo?
Usando tu terminal Unix
Para no repetir aquí la guía de instalación, te enlazamos la [guía oficial(https://wp-cli.org/#installing)] que es muy sencilla de seguir.
Usando Docker
Otra opción si usas Docker para tu instalación de Wordpress, es usar también Docker para lanzar WP-CLI. Imaginemos que tienes dos servicios corriendo usando Docker, uno para la base de datos MariaDB y otro para el propio Wordpress, un ejemplo de estos servicios con Docker Compose sería:
version: '3.9'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: wp_pass
WORDPRESS_DB_NAME: wp_database
volumes:
- wordpress_data:/var/www/html
depends_on:
- db
db:
image: mariadb:latest
container_name: mariadb
environment:
MYSQL_DATABASE: wp_database
MYSQL_USER: wp_user
MYSQL_PASSWORD: wp_pass
MYSQL_ROOT_PASSWORD: root_pass
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
Ahora puedes tener un servicio para WP-CLI, por ejemplo usando esta configuración:
wpcli:
depends_on:
- wordpress
- db
image: wordpress:cli
links:
- db
entrypoint: wp
command: "--info"
volumes:
- wordpress-data:/var/www/html
working_dir: /var/www/html
Con esta configuración puedes lanzar comandos usando docker directamente:
docker-compose run --rm wpcli <COMANDO>
Guía básica de uso
Pasemos ahora a lo más interesante y es cómo usar WP-CLI. Es una herramienta muy potente así que vamos a dar una nociones muy básica de los casos de uso típicos.
Lo primero es saber cómo usarlo. Lancemos primero su ayuda en linea:
wp help
Deberías ver ahora todos los comandos que puedes lanzar con un WP-CLI. Si quieres saber más sobre un comando concreto:
wp help <comando>
La estructura para lanzar comandos es siempre la misma:
wp <comando> <subcomando> [argumentos] [opciones]
Los comandos más utilizados son:
- wp core para tareas de administración principales de Wordpress como por ejemplo configurar o actualizar la instalación:
- Ejemplo:
wp core update
- Ejemplo:
- wp plugin para gestionar los plugins. Por ejemplo instalar, activar, desactivar o listar los plugins activos.
- Ejemplo:
wp plugin install akismet --activate
para instalar y activar el plugin Akismet
- Ejemplo:
- wp theme para manejar todo lo relacionado con temas de Wordpress, por ejemplo instalarlo o activarlos:
- Ejemplo:
wp theme install twentytwenty --activate
para instalar y activar el tema Twenty Twenty.
- Ejemplo:
- wp post para gestionar las publicaciones, por ejemplo piuedes crear, actualizar o eliminar los posts.
- Ejemplo:
wp post create --post_title="Bienvenido a Wordpress" --post_status=publish
para crear un nuevo post y publicarlo.
- Ejemplo:
- wp user para administrar las cuentas de usuario pudiendo listarlos, crearlos, actualizarlos o eliminarlos.
- Ejemplo:
wp user list
para listar todos los usuarios registrados.
- Ejemplo:
- wp db para administrar la base de datos, recuerda usarlo con mucho cuidado. Podrás realizar tareas como exportar la base ded datos, importarla o ejecutar consultas, lo que es perfecto para backups y migraciones.
- Ejemplo:
wp db export
para crear una copia de seguridad de tu base de datos.
- Ejemplo:
Hay muchos más comandos que son muy utilies, por ejemplo otro caso de uso muy útil es cambiar el título de tu sitio Wordpress ejecutando wp option update blogname "Mi Blog"
Esperamos que esta guía breve te haya servido para empezar o ampliar tus conocimientos y otras formas de uso de WP-CLI por ejemplo usando Docker.
En Sitecloud usamos WP-CLI internamente para realizar las tareas administrativas más comunes como por ejemplo generar backups o actualizar la versión de Wordpress, con lo que no será necesario que te preocupes de nada. Aún así nunca está de más que aprendas como usar toda la potencia de WP-CLI.