Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo saber con wp-cli en qué sitios de un WordPress Multisite está activo un plugin

Imago voragine.net

Hay veces que se notifica una vulnerabilidad en un plugin de WordPress y es muy recomendable ponerlo en cuarentena: eliminarlo, o al menos desactivarlo, hasta que se solucione el problema. Cuando esto ocurre en una instalación Multisite de WordPress con decenas o centenas de sitios antes de poder desactivarlo o eliminarlo conviene saber en qué sitios está activo.

Con wp-cli y un loop de bash se puede realizar esta tarea automáticamente. El código empaquetado en un pequeño script es el siguiente:

#!/bin/bash
 
for site in $(wp site list --field=url); do
  echo "Comprobando sitio: $site"
  if wp plugin is-active $1 --url=$site; then
    echo "El plugin está activo en el sitio $site"
  fi
done

El script tiene un parámetro para el identificador del plugin. Por ejemplo, si llamamos al script wp.is.plugin.active.sh y si se quiere saber en qué sitios está activo Akismet:

wp.is.plugin.active.sh akismet

Para conocer el identificador de un plugin se puede usar también wp-cli para listar todos los plugins instalados:

wp plugin list

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks