Instalación, actualización y administración de complementos de WordPress con WP-CLI
Publicado: 2022-07-26WP-CLI le permite hacer prácticamente cualquier cosa que pueda hacer en el administrador de WordPress, pero en la línea de comandos. Esto ahorra mucho tiempo y proporciona un flujo de trabajo más limpio. Puede usar WP-CLI para administrar el núcleo de WordPress, ejecutar actualizaciones de temas, administrar instalaciones multisitio y mucho más. En este artículo, nos concentraremos en uno de los casos de uso más comunes, administrar sus complementos de WordPress.
Los comandos de WP-CLI están todos estructurados de la misma manera. Siempre hay un comando principal (como wp plugin
) y un subcomando (como install
), seguidos de parámetros e interruptores. Nos concentraremos en el wp plugin
y sus subcomandos en este artículo, pero puede ver una explicación más detallada en nuestra guía de la estructura de comandos WP-CLI.
Ese artículo usó el comando wp plugin
como ejemplo, destacando cómo instalar y activar complementos usando WP-CLI. En este artículo, profundizaremos mucho más en cómo administrar nuestros complementos utilizando la interfaz de línea de comandos de WordPress.
Instalación y activación de complementos
Actualmente hay 16 subcomandos oficiales para el comando principal del wp plugin
. En esta sección, cubriremos los subcomandos para la instalación y activación. También veremos cómo instalar y activar complementos con un solo comando. También veremos cómo instalar complementos de fuentes distintas al directorio de complementos de WordPress.
Ingrese wp plugin install
seguido del slug oficial del complemento para instalar la última versión:
instalación del complemento wp hola-muñeca Instalación de Hello Dolly (1.7.2) Descargando el paquete de instalación desde https://downloads.wordpress.org/plugin/hello-dolly.1.7.2.zip... Usando el archivo en caché '/Users/eriktorsner/.wp-cli/cache/plugin/hello-dolly-1.7.2.zip'... No se pudo verificar la autenticidad de hello-dolly.1.7.2.zip ya que no se encontró ninguna firma. Desempacando el paquete... Instalando el complemento... Complemento instalado con éxito. Éxito: se instalaron 1 de 1 complementos.
A continuación, activamos el complemento usando el comando de wp plugin activate
:
Complemento wp activar hola-muñeca Complemento 'hello-dolly' activado. Éxito: 1 de 1 complementos activados.
Búsqueda de un slug de complemento
Tenga en cuenta que el slug a menudo es diferente del nombre del complemento. El slug es visible en la URL del complemento en el directorio de complementos de WordPress, pero puede acelerar su flujo de trabajo siguiendo la línea de comando y usando el subcomando de search
, seguido de dos parámetros y sus valores: --per-page=1
y --fields=name,slug
.
El parámetro opcional --per-page
le dice a WP-CLI cuántos resultados mostrarnos, en este caso solo uno. Por defecto mostrará 10 resultados si no le da este parámetro. Le he dado un valor de 1
aquí porque solo quiero ver el resultado más relevante.
El parámetro --fields
le dice a WP-CLI que solicite campos específicos de la API, en este caso, el nombre y el slug del complemento. Hay una amplia gama de valores que puede usar aquí, incluida la version
para ver el número de versión actual y la rating
para ver las calificaciones del complemento como un porcentaje y el número total de calificaciones. En su lugar, puede usar --field=<field>
si solo desea mostrar el resultado de un solo campo. Debe usar el parámetro --fields
o --field
con el comando wp plugin search
.
búsqueda del complemento wp "wp descargar medios" --por página = 1 --fields = nombre, slug Éxito: Mostrando 1 de 66 complementos. +------------------------------------------------- -----------------------------------------+------------------ --------+ | nombre | babosa | +------------------------------------------------- -----------------------------------------+------------------ --------+ | WP Offload Media Lite para Amazon S3, DigitalOcean Spaces y Google Cloud Sto | amazon-s3-y-cloudfront | | rabia | | +------------------------------------------------- -----------------------------------------+------------------ --------+
Como la respuesta a este comando es una lista, esta es una buena oportunidad para mostrar lo que puede hacer el parámetro --format
. Pidámosle a WP-CLI que nos dé esa lista en formato JSON, y luego canalícela a través de la utilidad jq para un formato más bonito. La utilidad jq es un procesador JSON de línea de comandos liviano que puede instalar en el enlace anterior o probar en línea. Asegúrese de omitir | jq
| jq
del siguiente comando si no lo tiene instalado.
Cuando solicitamos una salida con formato JSON, WP-CLI omite el mensaje de estado para que no tengamos JSON roto:
$ wp plugin search "wp offload media" --por página=1 --fields=nombre,slug --format=json | jq [ { "name": "WP Offload Media Lite para Amazon S3, DigitalOcean Spaces y Google Cloud Storage", "slug": "amazon-s3-y-cloudfront" } ]
Para activar el complemento una vez que esté instalado, use el wp plugin activate
seguido del slug oficial del complemento.
Instalar y activar un complemento al mismo tiempo
Cuando se trata de administrar sus complementos con WP-CLI, una de las grandes ventajas es que puede instalar y activar un complemento con un solo comando. Si bien activate
se puede usar como un subcomando con el wp plugin
, también se puede usar como un parámetro con el comando de wp plugin install
:
# Instalar y activar el complemento al mismo tiempo instalación del complemento wp --activar hola-muñeca
Instalación de una versión específica del complemento
No es raro que desee instalar una versión específica de un complemento con fines de prueba. Siempre que la versión que desea aún esté disponible en el directorio de complementos de WordPress, puede seleccionar cualquier versión que considere adecuada:
# Instalar una versión de complemento específica wp plugin instalar woocommerce --version=5.5.3
Instalación de complementos desde otras ubicaciones
El directorio de complementos de WordPress no es el único lugar donde podemos obtener complementos. También podemos instalar un complemento directamente desde el sistema de archivos. La mayoría de las veces, cuando compra un complemento premium, obtiene la entrega inicial en forma de archivo zip. WP-CLI felizmente instalará ese archivo zip directamente, sin necesidad de extraer el paquete primero:
# Instalar un complemento desde la carpeta Descargas $ wp plugin install ~/Descargas/advanced-custom-fields-pro.zip
Esto también funciona si el complemento que desea instalar está disponible en una URL, quizás solo accesible mediante el suministro de credenciales a través de parámetros de solicitud o en un servidor con un certificado autofirmado:
# Obtener el complemento desde una URL instalación del complemento wp http://www.hellfish.media/my-plugin.zip # ...o incluso un archivo privado de un depósito de Amazon: instalación del complemento wp https://s3.amazonaws.com/bucketname/my-plugin.zip?X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Signature=abc123 # Desde nuestro servidor interno con un certificado autofirmado: instalación del complemento wp https://intranet.hellfish.media/my-plugin.zip --insecure
Actualización de complementos con WP-CLI
Una vez que tenga un complemento instalado, es importante mantenerlo actualizado por razones de seguridad. Para saber si hay algún complemento para actualizar, podemos ejecutar el comando wp plugin list
:
lista de complementos wp +----------------------------------------+----------+------ -----+---------+ | nombre | estado | actualizar | versión | +----------------------------------------+----------+------ -----+---------+ | amazon-s3-y-cloudfront | activo | disponible | 2.6.1 | | hola muñequita | activo | disponible | 1.7.1 | | wunderdevmu | imprescindible | ninguno | 1.0 | +----------------------------------------+----------+------ -----+---------+
En este caso, los complementos Hello Dolly y WP Offload Media necesitan actualizaciones. Naturalmente, hay un subcomando separado para eso llamado update
.
Podemos actualizarlos uno por uno, o ser un poco perezosos y simplemente actualizar todo lo que necesita ser actualizado de una sola vez usando el interruptor --all
. El comportamiento predeterminado del comando de actualización es actualizar hasta la última versión disponible, que incluye actualizaciones de versiones principales. Pero al usar el interruptor --minor
podemos ser un poco más cuidadosos y solo actualizar para versiones menores. Por ejemplo, podemos decirle que actualice de 1.2.3 a 1.3.0, pero no a 2.0.0. Incluso podemos ser extremadamente cuidadosos y usar el --patch
para limitar las actualizaciones a solo parches, es decir, de 1.2.3 a 1.2.5 pero nunca a 1.3.0.
# Actualice cuidadosamente los complementos uno por uno actualización del complemento wp wp-offload-media actualización del complemento wp hola-muñeca # El enfoque del vaquero actualización del complemento wp --todo # Un poco más sensato actualización del complemento wp --todo --menor # Muy defensivo actualización del complemento wp --todos --parche
Nota: Los interruptores --minor
y --patch
asumen que el complemento está utilizando el control de versiones semántico. No todos los complementos hacen esto, por lo que deberá buscar los complementos que está utilizando para no recibir sorpresas desagradables. La opción --dry-run
le permite verificar y asegurarse de que sus comandos sean correctos:
# Pruebe la actualización de un solo complemento para solo parches actualización del complemento wp hello-dolly --patch --dry-run
El parámetro --exclude=<plugin name>
se usa para indicar qué complementos deben excluirse de la actualización. Incluya los nombres de los complementos como una lista separada por comas, y WP-CLI actualizará todos los demás complementos y los dejará solos:
actualización del complemento wp --all --exclude=hello-dolly Habilitando el modo de mantenimiento... Descargando actualización desde https://deliciousbrains.com/my-account/download/7512/?version=2.6.2... Desempaquetando la actualización... Instalando la última versión... Eliminando la versión anterior del complemento... Complemento actualizado con éxito. Deshabilitando el modo de mantenimiento... +----------------------------------------+-------------+-------- -----+---------+ | nombre | versión_antigua | nueva_versión | estado | +----------------------------------------+-------------+-------- -----+---------+ | amazon-s3-y-cloudfront | 2.6.1 | 2.6.2 | Actualizado | +----------------------------------------+-------------+-------- -----+---------+
Forzar la reinstalación del complemento
La mayoría de los complementos premium vienen con su propio verificador de actualizaciones incorporado que también funciona muy bien con WP-CLI. En mi experiencia, cualquier complemento que se pueda actualizar con un solo clic a través de las páginas de administración de WordPress también se puede actualizar usando WP-CLI. Pero en algunos casos, las actualizaciones se proporcionan a través de una nueva versión del archivo zip que debe colocar en el lugar correcto en su servidor. Puede aplicar este tipo de actualizaciones forzando una reinstalación del complemento usando el interruptor --force
:
# Forzar la reinstalación de un complemento instalación del complemento wp ~/Descargas/mi-complemento-personalizado-v2.zip --force
Habilitación de actualizaciones automáticas
Desde la versión 5.5, WordPress puede actualizar complementos automáticamente. Las actualizaciones automáticas deben estar habilitadas para cada complemento individual. WP-CLI no ofrece ningún manejo masivo para actualizaciones automáticas. Tiene que hacerse individualmente por complemento usando el subcomando auto-updates
. Puedes ver cómo funciona con los siguientes comandos:
# Comprobar si las actualizaciones automáticas están habilitadas para un complemento wp plugin auto-actualiza el estado hello-dolly # Habilitar actualizaciones automáticas las actualizaciones automáticas del complemento wp habilitan hello-dolly # Deshabilitarlo de nuevo las actualizaciones automáticas del complemento wp deshabilitan hello-dolly
Desactivación y eliminación de complementos
La instalación, activación y actualización de complementos se encuentran entre las tareas más comunes, pero hay otros trabajos de administración de complementos que WP-CLI puede manejar por nosotros.
Si alguna vez ha intentado descubrir qué está causando un problema en su sitio web de WordPress, probablemente le hayan recomendado que desactive todos los complementos como uno de los primeros pasos. Es posible hacer esto con el manejo masivo en un navegador web, pero siempre me pone nervioso. Prefiero hacerlo a través de la línea de comando usando el --all
.
# Desactivar todos los complementos a la vez complemento wp desactivar --todos # Y reactivarlos de nuevo complemento wp activar --todo
La eliminación completa de un complemento también se realiza fácilmente con WP-CLI. Una diferencia entre hacer esto a través de la línea de comandos y el navegador es que WP-CLI le permitirá eliminar un complemento sin ejecutar primero los ganchos de desactivación. Si alguna vez instaló un complemento que bloquea WordPress durante la desactivación, sabe por qué esto puede ser tan útil:
# Desactivar y desinstalar complemento wp desactivar hello-dolly --desinstalar # Eliminar un complemento sin darle la oportunidad de desactivarlo complemento wp eliminar hola-muñeca
También existe el subcomando de toggle
que está relacionado con la activación y desactivación de complementos. Cambiará o alternará el estado de activación para que cambie al opuesto del estado actual. Puede agregar --network
para activar o desactivar el complemento para una red multisitio completa.
Sumas de comprobación de complementos
WP-CLI tiene la capacidad de comparar las sumas de verificación de sus complementos instalados con las sumas de verificación para el mismo complemento y versión en el directorio de complementos de WordPress. Esta es una forma muy eficiente de determinar si los archivos del complemento en su instalación de WordPress han sido manipulados. Si lo han hecho, es una fuerte indicación de que ha sido pirateado.
Las sumas de verificación son algoritmos informáticos especiales que pueden tomar una entrada de cualquier tipo y tamaño y convertirla en una cadena corta. Esta cadena suele tener entre 20 y 40 caracteres, lo que la hace adecuada para almacenarla en una base de datos. Esta cadena resultante se denomina hash, firma o, por razones históricas, suma de comprobación.
Lo que hace que estos algoritmos sean únicos es que si cambia un solo carácter en la entrada, la salida será completamente diferente. Alimente todos los archivos de un complemento en el algoritmo de suma de verificación uno por uno, y terminará con una pequeña firma, o suma de verificación, que representa todo el complemento.
Cada vez que se publica una nueva versión de un complemento en el Directorio de complementos de WordPress, la suma de verificación se calcula y se guarda para esa versión específica. Unos meses más tarde, cuando desee verificar que no ha sido pirateado, puede pedirle a WP-CLI que calcule la suma de verificación de sus complementos y compararlos con las sumas de verificación originales que mantiene WordPress. Si hay archivos agregados, modificados o faltantes de su parte, la suma de verificación del complemento será diferente de la original y WP-CLI hará algo de ruido al respecto.
El subcomando que maneja esta magia de verificación de hash se llama verify-checksums
y es esencialmente lo mismo que preguntar "¿mis complementos no han cambiado desde que los obtuve del directorio de complementos de WordPress?"
# Buscar un solo complemento wp plugin verificar sumas de verificación hola-muñeca Éxito: 1 de 1 complementos verificados # Verifique todos los complementos que provienen del repositorio Complemento wp verificar sumas de verificación --todos
Esto solo funciona para los complementos que se instalaron desde el Directorio oficial de complementos de WordPress, por lo que este comando no verificará sus complementos premium. El subcomando verify-checksums
también existe para wp core
, pero no se puede usar para verificar temas de WordPress.
Comandos para secuencias de comandos
Hasta ahora, los comandos que hemos cubierto son útiles para cualquier persona que necesite administrar complementos de WordPress. El último conjunto de subcomandos del wp plugin
que voy a cubrir es principalmente de interés para los desarrolladores de WordPress, ya que en su mayoría están destinados para su uso en scripts de Bash.
Primero necesitamos hablar un poco sobre los códigos de salida de Unix. En un sistema Unix, todos los programas que salen de la ejecución regresan con un código de salida. La interpretación estándar es que el código de salida 0
significa que el programa terminó bien, mientras que un código de salida distinto de cero indica que ocurrió un error.
Los códigos de error a menudo se usan en scripts de shell para usar en declaraciones if/else
y otras formas de bifurcación. No vemos el código de salida cuando ejecutamos un comando normalmente desde el símbolo del sistema, pero siempre podemos encontrarlo usando $?
:
# Ejecute algo que funcione y obtenga el código de salida fecha eco $? 0 # Ejecutar algo que falla ls /carpeta inexistente ls: /idongfdg: No existe tal archivo o directorio eco $? 1
En WP-CLI, tenemos un montón de comandos que en su mayoría están destinados a verificar algo y devolver un código de salida útil. El comando wp plugin
tiene dos de estos subcomandos, is-installed
y is-active
, que nos permiten verificar si un determinado complemento está instalado y activado:
# Comprobar si hello-dolly está instalado (lo está) el complemento wp está instalado hello-dolly eco $? 0 # Eliminar hello-dolly y comprobar de nuevo complemento wp eliminar hola-muñeca el complemento wp está instalado hello-dolly eco $? 1 # Comprobar si woocommerce está activado el complemento wp está activo en woocommerce eco $? 0 # Desactivar woocommerce complemento wp desactivar woocommerce el complemento wp está activo en woocommerce eco $? 1
Usando los comandos anteriores, es posible escribir scripts de Bash que hacen cosas diferentes dependiendo de si un determinado complemento está instalado/activado o no.
El último subcomando que sospecho que es principalmente para fines de secuencias de comandos es path
. Este comando simplemente devuelve la ruta al archivo PHP principal de un complemento y, en consecuencia, también a la carpeta del complemento. Podemos combinar esto con otros trucos de Bash, por ejemplo así:
# Mostrar todos los archivos en la carpeta del complemento de woocommerce ls -al $(dirname $(ruta del complemento wp woocommerce))
Esto no es muy útil en el trabajo diario de la línea de comandos, pero ciertamente es útil al escribir scripts y necesita obtener la ruta para un complemento.
Conclusión
Como puede ver, administrar los complementos de WordPress a través de la línea de comandos aumenta su velocidad y simplifica muchas tareas comunes. He cubierto las tareas más comunes cuando se trata de administrar sus complementos, pero lo animo a explorar más por su cuenta. Pronto descubrirá que el poder de WP-CLI se extiende mucho más allá de los complementos, lo que le permite hacer prácticamente cualquier cosa que pueda hacer en el administrador de WordPress, pero mucho más rápido.
¿Tiene algún buen ejemplo de cómo está usando el comando wp plugin
? Por favor, hágamelo saber en los comentarios.