Aprende a Usar WP-CLI para Automatizar Desarrollo y Mantenimiento
💻 Introducción a WP-CLI: Automatiza Tareas de Desarrollo y Mantenimiento
WP-CLI (WordPress Command Line Interface) es una herramienta esencial para cualquier desarrollador de WordPress. Permite gestionar prácticamente cualquier aspecto de un sitio web directamente desde la línea de comandos (terminal o SSH), automatizando tareas tediosas y repetitivas de desarrollo, despliegue y mantenimiento.
Si bien la interfaz gráfica (wp-admin) es intuitiva, WP-CLI ofrece una velocidad, potencia y precisión inigualables, especialmente para sitios con mucho tráfico o grandes bases de datos.
🚀 Instalación y Uso Básico
Para usar WP-CLI, tu servidor debe tener acceso a la línea de comandos (SSH) y PHP. La mayoría de los hosts modernos ya lo tienen preinstalado.
Verificar Instalación:
Simplemente escribe wp en la terminal dentro del directorio de tu instalación de WordPress. Si está instalado, verás la información de uso.
Sintaxis General:
Todos los comandos de WP-CLI siguen una estructura lógica:
wp <comando principal> <subcomando> [argumentos] [flags]Ejemplo:
wp plugin install query-monitor --activatewp plugin: Comando principal (gestionar plugins).install: Subcomando (instalar un plugin).query-monitor: Argumento (el nombre del plugin).--activate: Flag (activar inmediatamente después de la instalación).
🛠️ Comandos Esenciales de WP-CLI
Estos son los comandos más utilizados para el desarrollo y mantenimiento diario:
Comando Principal | Subcomando y Descripción | Ejemplo de Uso |
| Gestiona el core de WordPress (instalación, versión, etc.). |
|
| Gestiona las opciones de la tabla |
|
| Gestiona plugins. |
|
| Gestiona themes. |
|
| Gestiona cuentas de usuario. |
|
| Gestiona entradas, páginas y CPTs. |
|
💾 Comandos Avanzados para Desarrolladores
Aquí es donde WP-CLI brilla, permitiendo automatizar tareas complejas de bases de datos y migración:
1. Gestión de Bases de Datos
El comando más crucial para desarrolladores:
Búsqueda y Reemplazo de URLs (
wp search-replace): Esencial para migraciones de sitios o cambios de dominio.wp search-replace 'http://dominio-viejo.com' 'https://dominio-nuevo.com'- Ventaja Clave: Este comando gestiona la serialización de datos (algo que un reemplazo SQL simple rompería), asegurando que los widgets y las configuraciones de plugins permanezcan intactos.
Exportar/Importar Base de Datos:
wp db export (Crea un archivo .sql de la base de datos)
wp db import mi_backup.sql (Importa una base de datos)
2. Depuración y Caching
Ideal para debugging rápido y optimización:
Desactivar Plugins de Golpe: Perfecto cuando un sitio se cae debido a un error de plugin.
wp plugin deactivate --allGestión de Transients: Los transients son datos temporales que a veces necesitan borrarse para debugging.
wp transient delete --all(Borra todos los transients)Regenerar Permalinks: A veces es necesario para resolver errores 404.
wp rewrite flush
3. Scaffolding (Creación de Estructuras)
Acelera la creación de nuevos componentes:
Crear Plugins y Themes Base: Genera la estructura de archivos necesaria para empezar a desarrollar.
wp scaffold plugin mi-plugin-nuevo
wp scaffold s mi-theme-nuevo (Genera un tema base con el starter theme s)
💡 Beneficios de Integrar WP-CLI en tu Flujo de Trabajo
Automatización: Usa scripts de shell (Bash) para encadenar comandos de WP-CLI y automatizar el despliegue de sitios, actualizaciones o limpiezas de bases de datos.
Rendimiento: Ejecutar comandos directamente en el servidor es significativamente más rápido que usar la interfaz web, ideal para manejar miles de entradas o grandes operaciones en bases de datos.
Seguridad: Permite realizar tareas de mantenimiento sin necesidad de exponer el wp-admin constantemente, usando entornos SSH seguros.
Desarrollo Profesional: Forma parte de los flujos de trabajo modernos de DevOps y Git, facilitando la integración continua y el despliegue continuo (CI/CD).
Si eres desarrollador, integrar WP-CLI en tu rutina diaria no solo te hará más eficiente, sino que también elevará la calidad de tu trabajo, permitiéndote gestionar sitios con una robustez y velocidad profesional.
Escrito por
Joaquin Sáez