Saltar al contenido

Qué es WP CLI y cómo funciona

Qué es WP CLI y cómo funciona
5 (100%) 1 vote

Original: bit.ly/2OjqwDv

WP CLI es una interfaz de línea de comandos que le permite instalar, configurar y mantener su WordPress usando sólo el terminal.

Aunque el uso de la línea de comandos puede parecer muy friki, con este artículo espero hacerte cambiar de opinión y mostrarte lo útil que puede ser el terminal usando (también) este comando.

Trabajando con WordPress es probable que ya hayas probado herramientas disponibles en la línea de comandos, como GIT o SVN, que te ayudan a gestionar diferentes versiones de tu código.

Si eso no es un problema, estoy aquí para ayudarte a empezar en 💪

La instalación de WP CLI requiere la posibilidad de utilizar un terminal, al final también es esencial para su uso. Si utiliza Mac o Linux, encontrará que ya está instalado y probablemente ya lo haya utilizado. Para Windows, esto es ligeramente diferente.

Pero trabajar con un terminal también significa poder usar WP CLI directamente en su servidor en línea abriendo una conexión SSH y ejecutando los comandos que encontrará en esta lección.

Conocer SSH es muy útil

Si no conoces los conceptos básicos de las conexiones SSH, deberías ir y leer algo al respecto, una simple lectura debería ser más que suficiente porque, si lo supiera, estoy seguro de que tú también podrás conectarte a tu servidor online a través de este protocolo

No nos perdamos demasiado en la conversación, así que vayamos al corazón del artículo que describe el primer paso fundamental: instalar esta aplicación en su sistema operativo.

Instalamos WP CLI en el entorno de desarrollo

Una vez que abra su terminal, la instalación de esta herramienta es realmente sencilla, todo lo que tiene que hacer es escribir la siguiente línea de código:

Concha

curl -O http://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Si no ha recibido ningún mensaje de error, felicitaciones por haber instalado WP CLI!

Ten esto en cuenta si usas MAMP y herramientas similares

Si no es la primera vez que lees uno de mis artículos, debes saber que con el tiempo también he usado MAMP.

Su uso me ha causado algunos problemas varias veces pero encuentro que esta aplicación es muy conveniente de usar y puede ser perdonada si, para aplicar alguna configuración avanzada, es necesaria alguna modificación.

Hoy en día uso diferentes herramientas

Hoy en día me encuentro mucho más dispuesto a usar soluciones integradas con Docker mientras que miro mal las soluciones GUI como el antiguo MAMP y el nuevo Local by FlyWheel.

El principal problema es que nuestro MAMP no instala el lenguaje PHP en la posición por defecto, por el contrario, todos los programas necesarios para gestionar un servidor web están presentes dentro de la propia carpeta de la aplicación.

Para que WP CLI sea consciente de estos cambios en nuestro entorno de desarrollo es necesario añadir la ubicación del ejecutable PHP dentro del perfil de nuestro terminal, básicamente el archivo se encuentra dentro de su carpeta de usuario (su casa para entender) y se llama .bash_profile o.bashrc dependiendo de la configuración de su sistema operativo.

Una vez que haya abierto este archivo con cualquier editor de texto, esto es lo que necesita poner dentro de él:

Concha
.perfil_bash

exportar WP_CLI_PHP=/Applicaciones/MAMP/…/bin/php

Recomiendo en una cosa en particular, reemplazar los tres puntos con la ruta correcta al ejecutable de la versión PHP que está utilizando, de lo contrario WP CLI no será capaz de funcionar correctamente.

Una vez realizado este cambio, lo que queda por hacer es forzar el final del proceso de carga para recargar este archivo dando el siguiente comando:

Concha

fuente ~/.bash_profile

Una cosa que noté en mis experimentos es que a veces WP CLI no es capaz de comunicarse directamente con el servidor MySQL que MAMP trae consigo, para resolver este problema te sugiero que abras de nuevo el archivo .bash_profile ( o.bashrc) y añadas lo siguiente:

Concha
.perfil_bash

export PATH=$PATH:/Aplicaciones/MAMP/Librería/bin

De esta manera se le están indicando a WP CLI todos los ejecutables que están presentes dentro de MAMP y en el 99% de los casos se ha resuelto cualquier problema de incompatibilidad.

Primeros pasos con WP CLI

En este punto asumo que tienes en tus manos un terminal desde el cual puedes lanzar los comandos que veremos en este artículo.

Para seguir paso a paso los ejemplos que daremos en este artículo te sugiero que crees una nueva carpeta vacía dentro de tu entorno de desarrollo local (también puedes trabajar con instalaciones online una vez conectadas a través de SSH pero por el momento nosotros hacemos las cosas más sencillas).

Lo que tiene que hacer ahora es ir a la carpeta recién creada y ejecutar el siguiente comando:

Concha

wp-info

Si todo es correcto, esto significa que ha instalado WP CLI correctamente y que ha recibido un mensaje similar a éste:

Concha

Binario PHP: /Aplicaciones/MAMP/bin/php/php5.3.27/bin/php Versión PHP: 5.3.27 php.ini utilizado: /Aplicaciones/MAMP/bin/php/php/php5.3.27/conf/php.ini Raíz WP-CLI: /Users/andreabarghigiani/.wp-cli/vendor/wp-cli/wp-cli WP-CLI config: WP-CLI versión: 0.12.1

Como puede ver, la respuesta que WP CLI nos dio es simplemente una lista de archivos usados por el propio programa.

Le sugiero que compruebe de nuevo que las rutas al binario de PHP y su archivo de configuración son correctas porque la diversión está a punto de comenzar!

¡No puedo recordarlo todo!

Esta es sin duda una de las excusas más comunes cuando se trata de cambiar nuestros hábitos de un mundo lleno de interfaces gráficas a uno menos animado.

Digo esto porque yo mismo pensaba que tener un icono al que llegar era más práctico y quería recordar docenas de órdenes de memoria.

Por suerte para nosotros, trabajar con WP CLI no significa tener en cuenta los nombres de los comandos que necesitamos, sino saber dónde buscarlos.

Y la tarea es muy sencilla ya que para obtener la lista de estos sólo tienes que teclear en el terminal el comando principal: wp.

Una vez que haya introducido estas dos letras y pulsado el botón Intro, se le presentarán una serie de subcomandos que podrá utilizar junto con éste. Los más interesantes, así como los que veremos en este artículo, son:

  • core – con este comando puedes descargar, instalar, actualizar cualquier versión de WordPress que quieras usar
  • plugins – un conjunto de herramientas útiles que le permitirán instalar, actualizar, habilitar, deshabilitar y desinstalar cualquier plugin de WordPress
  • tema – como arriba pero para los temas
  • db, exportar e importar – estos son subcomandos individuales pero preferí agruparlos en un solo grupo ya que todos realizan operaciones con su base de datos

Dejamos de lado muchos comandos interesantes, también porque pueden aumentar dependiendo de los plugins instalados, pero puedes entender por ti mismo que puedes manejar tu WordPress sin siquiera tener que entrar en el tablón de anuncios, de modo que podemos ahorrarnos valiosos minutos que puedes dedicar a otros.

Ahora vamos a conocer los comandos más comunes.

Instalar WordPress desde la línea de comandos WP Cli

En esta sección le muestro cómo puede descargar, configurar e instalar nuestro WordPress en sólo unos segundos y sin tener que quitar las manos del teclado.

¿Te parece demasiado bueno para ser verdad?

No te preocupes, no estás soñando, ¡pero es verdad!

Comenzamos nuestra instalación descargando nuestro WordPress.

Cómo descargar WordPress con WP CLI

Volvamos a la carpeta recién creada y en este punto sólo tienes que ejecutar el siguiente comando y dejar que WP CLI se preocupe de descargar y descomprimir la última versión de WordPress:

Concha

descarga del núcleo wp

Tres simples palabras escritas en un terminal que le permitirán hacerlo:

  • evite abrir wordpress.org para descargar la última versión de WordPress en formato.zip;
  • extraer el contenido del archivo y copiarlo en la carpeta de nuestro entorno de desarrollo;
  • borre el archivo.zip y utilice su navegador para ir a la pantalla de instalación de WordPress.

Con un simple comando encontrará todo listo en la carpeta en la que está trabajando, ahora veamos cómo proceder con la instalación…

Antes de la instalación debemos configurar

Como ya estamos acostumbrados con el asistente de instalación de WordPress, antes de poder instalar esta plataforma debemos proporcionar la información necesaria para la correcta configuración que, en pocas palabras, se traduce en indicar a WordPress qué base de datos puede utilizar y sus credenciales de acceso.

Pregunte

En este artículo asumo que sabes cómo crear una base de datos, pero si encuentras algún problema, no dudes en ponerte en contacto conmigo

Para configurar su nueva instalación de WordPress puede dejar que WP CLI genere para usted el archivo wp-config.php con el siguiente comando:

Concha

configuración del núcleo wp

Como puedes ver, una vez más, el comando wp core demuestra su utilidad pero, si intentaste ejecutar este comando, lo más probable es que recibieras un error.

Este error no es lanzado por falta de ti, sino porque aún no te he dicho que este comando acepta varios parámetros, el más útil será:

  • –dbname que especifica el nombre de la base de datos que desea utilizar;
  • –dbuser – el nombre de usuario que tendrá acceso a la base de datos;
  • su contraseña;
  • –dbhost – la URL que le permite acceder a la base de datos (para especificar sólo si es diferente de la URL de su sitio);
  • –dbprefix – el prefijo de la tabla que desea utilizar (también se debe especificar si desea dificultar a los hackers la comprensión de la tabla que utiliza WordPress).

Así que, en su forma mínima, el comando anterior se verá así:

Concha

wp core config -name=nomedb -dbuser=adminmysql -dbpass=pswadminmysql

Tal vez un poco más complicado que el primer comando que vimos, pero ahí es donde entra la belleza! Por cada comando que veas puedes ir y crear un script que te permitirá hacerlo mucho más fácil!

Para crear un script de este tipo, basta con crear cualquier archivo con extensión.sh y, para ponerte un ejemplo, esto es lo que deberías poner dentro de él para crear algo más humano:

Eso es todo, ahora cuando ejecute este script el terminal le pedirá los datos necesarios para permitir la instalación de WordPress sin ni siquiera tener que recordarle cómo declarar los parámetros individuales.

Por fin podemos instalar

Concluimos este artículo con el comando que te permitirá instalar un nuevo WordPress en llamas en unos segundos, ¿te apetece intentar decir qué comando debería usarse? ¡¿No?! No hay problema, aquí está el comando que necesitas:

instalación del núcleo wp

Una vez más vemos que el comando wp core es realmente muy útil en esta fase de desarrollo pero si intentabas ejecutar este comando el terminal habrá devuelto un error y, una vez más, la razón es que no te presenté los parámetros que este comando requiere:

  • –url – que le permite identificar la URL utilizada para esta instalación de WordPress;
  • ...obviamente el título de nuestro nuevo CMS;
  • –admin_name – el nombre de la cuenta de administración;
  • –admin_email el correo electrónico…
  • –admin_password – y su contraseña.

En definitiva, sólo nos pide la información necesaria para finalizar la instalación y nos proporciona una cuenta con la que poder gestionar el nuevo sistema.

Concha

wp core install -url=dominio.it -title=Ejemplo -admin_user=super -admin_password=contraseña fuerte -admin_email=info@dominio.it

Obviamente, como se ha mostrado anteriormente para la configuración, puedes crear un nuevo script que te permita introducir esta información sin necesidad de recordar uno por uno cada parámetro o puedes crear un único script que te permita realizar una instalación de WordPress en pocos segundos!

Otras operaciones interesantes con WP CLI

Reconozco que por el momento parece que no ha hecho nada especial porque todo lo que se ha hecho es instalar WordPress con una nueva herramienta y por eso he decidido añadir esta sección.

Por el momento tener WP CLI disponible no parece una gran ventaja, hay que escribir comandos largos para hacer operaciones comunes y triviales.

Pero WP CLI es mucho más que eso, es una herramienta que le permitirá administrar completamente su instalación de WordPress sin tener que acceder al panel de administración.
WP CLI può tornare utile in molti altri modi oltre che installare WordPress. Scoprirli!
Aquí hay algunos casos de uso que me parecen increíblemente útiles.

Actualización de temas y plugins

WordPress ofrece potentes herramientas para actualizar temas y plugins, pero siempre son herramientas dentro de su tablón de anuncios y esto significa tener que acceder al sitio e iniciar sesión.

Al conectarse a su servidor en línea a través de SSH podrá ejecutar los siguientes comandos ahorrando mucho tiempo.

Para actualizar todos los plugins a la vez, es necesario insertarlos:

Concha

wp plugin update -todos

Mientras que para los temas el comando es muy similar:

Concha

wp theme update -todos

Con dos comandos simples has podido actualizar temas y plugins, algo similar puedes hacer con el núcleo de WordPress con el comando wp core update pero quizás lo más interesante es que estos comandos nos permiten insertar más opciones.

Por ejemplo, la opción –all es un atajo que nos permite actualizar todos los paquetes afectados pero también podemos excluir algunos (con –excluir) o instalar ringoles quitando –all y escribiendo el nombre de lo que queremos instalar.

Creamos un usuario

Incluso la creación de un usuario es relativamente simple cuando se utiliza el terminal, todo lo que necesita hacer es ejecutar el siguiente comando:

Concha

wp user create -prompt

Si vas a ver la página de documentación de este comando, éste también tiene muchas opciones que podemos usar pero en este ejemplo he elegido un enfoque diferente.

En este ejemplo quiero mostrarte cómo hacer que el terminal pida la información necesaria y es tan simple como escribir –prompt.

En este punto el terminal le pedirá su nombre, correo electrónico, contraseña y toda la información necesaria para crear un nuevo usuario.

Reemplazamos el texto en la base de datos

Afrontémoslo, mover un sitio de WordPress de un dominio a otro no es una tarea fácil. Por supuesto, como se ha presentado varias veces en este blog, podemos utilizar un simple script PHP para realizar la búsqueda y sustitución de cadenas específicas en nuestra base de datos.

En el siguiente ejemplo nos referiremos a dominios pero este comando puede ser usado para reemplazar cualquier cadena en la base de datos y le recomiendo que haga una copia de seguridad antes de cualquier operación.

Concha

wp search-replace http://0.0.0.0:8080 https://skillsandmore.org https://skillsandmore.org https://skillsandmore.org

El código anterior le muestra cómo usar el comando search-replace para reemplazar el dominio en mi entorno de desarrollo por lo que será el dominio en línea.

Tenga cuidado de que con este comando sobrescriba la información contenida en la base de datos de instalación de WordPress contenida en la carpeta desde la que ejecuta el comando.

Si desea crear un archivo.sql para importarlo posteriormente al servidor en línea, deberá utilizar la opción -export para crear una nueva base de datos que contenga el reemplazo.

Concha

wp search-replace http://0.0.0.0:8080 https://skillsandmore.org -export=db-locale.sql

Una vez ejecutado este último comando, encontrará el archivo db-locale.sql en la carpeta desde la que lo lanzó, listo para importarlo al servidor en línea con phpMyAdmin o (por qué no) directamente con WP CLI.

Conclusión

Sé que todavía hay una serie de órdenes que apelar, pero no me gustaría ir demasiado lejos con este artículo introductorio.

Ahora que has leído el artículo confieso que me gustaría saber tu opinión, ¿has intentado usar la terminal? ¿ Qué te parece?

¿No crees que deberíamos compartir este artículo con un amigo que necesita consejos?

Compartir
Compartir
WhatsApp
Bolsillo
Correo electrónico
0 Acciones

En serio, me enamoré de esta herramienta y ya no puedo pensar en la gestión de WordPress sin tenerla instalada en mis servidores.

Le recomiendo encarecidamente que tome la mano y utilice esta herramienta con la mayor frecuencia posible, ya que acelera increíblemente la gestión de esta plataforma.

<!– –>