Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Gestionar WordPress desde la línea de comandos con wp-cli

Imago voragine.net
[actualizado el ]

wp-cli es una interfaz de línea de comandos para WordPress. Permite hacer multitud de operaciones de administración y mantenimiento de una instalación de WordPress. Por un lado agiliza estas operaciones y por otro permite automatizarlas, ejecutándolas en modo no interactivo usando cron y un script de bash por ejemplo.

Aquí recojo cómo llevar a cabo tareas básicas con WordPress usando wp-cli. Para cualquier otro uso se puede consultar la documentación oficial de wp-cli.

Cómo instalar wp-cli

En realidad wp-cli no necesita instalación. Se puede descargar, por ejemplo usando curl, y empezar a usar directamente:

Para que su uso sea más práctico, y esté disponible para todos los usuarios del sistema llamando sencillamente al comando wp, se puede hacer lo siguiente:

Para comprobar que wp-cli está instalado correctamente:

Cómo actualizar wp-cli

wp-cli se puede actualizar usando wp-cli:

Cómo instalar WordPress con wp-cli

Para realizar cualquier operación con wp-cli lo mejor es hacerlo con el usuario del servidor web y desde el directorio donde esté o se quiera instalar WordPress. Para los siguientes ejemplos voy a suponer que el usuario es «usuario» y la ubicación de WordPress /var/www/example.org, en el servidor «maquina»:

Para instalar WordPress con wp-cli, primero hay que descargar la última versión de WordPress:

Luego se genera el archivo wp-config.php con los datos de la base de datos asociada al WordPress. Es buena idea no teclear directamente la contraseña de base de datos en el comando ya que quedaría registrada en el historial de comandos. Para evitarlo se puede usar el parámetro –prompt que permite pasar valores desde un archivo de texto previamente creado, en este caso dbpass.txt.

Ahora si se puede instalar WordPress. En este paso se creará la cuenta de un usuario administrador. Igual que en el paso anterior, para no teclear directamente la contraseña en la línea de comandos, volvemos a usar el parámetro --promp:

Cómo actualizar WordPress

Para actualizar WordPress se puede usar el parámetro update del subcomando core. Pero antes se puede comprobar si hay actualizaciones disponibles:

Si hay, se puede actualizar:

Cómo instalar y actualizar plugins

Si las tareas relativas al núcleo de WordPress se gestionan con el subcomando core, las que conciernen a los plugins usan el subcomando plugin.

Se puede ir intuyendo ya la sintaxis que usa wp-cli: siempre el comando wp, seguido de un subcomando que define el contexto (core, plugin, theme, cli…) y de una acción a realizar en dicho contexto (download, install, update, check-update…). Después se pueden añadir modificadores, como vemos en la orden para actualizar todos los plugins:

También se puede usar el modificador –dry-run para probar la actualización antes de ejecutarla, por si da algún error:

Cómo instalar y activar idiomas

Los idiomas disponibles del núcleo, de los plugins y los themes se gestionan desde el contexto language. Por ejemplo, para instalar la traducción española del núcleo:

Y una vez instalada, para activarla:

Cómo crear y modificar usuarios

La gestión de usuarios se realiza en el contexto user. Por ejemplo, para listar todos los usuarios del sistema:

Para cambiar la contraseña de un usuario, por ejemplo del usuario «supervisor»:

Para crear un nuevo usuario y asignarle el rol editor:

Cómo instalar, actualizar y activar themes

La gestión de themes se realiza en el contexto theme. Para actualizar todos los themes de una instalación:

Para cambiar el theme activo:

Y para instalar un nuevo theme, primero podemos hacer una búsqueda en el repositorio de themes de wordpress.org:

Y luego instalar uno de los resultados, y con el parámetro --activate activarlo directamente:

Cómo hacer sustituciones en base de datos

wp-cli permite buscar y remplazar una cadena de texto en una o varias tablas de la base de datos con el contexto search-replace. Esto es muy útil por ejemplo cuando se está migrando un sitio que se está desarrollando en local, al servidor en producción donde tendrá su dominio definitivo. Antes de hacer una modificación se puede comprobar qué se modificará usando el parámetro –dry-run:

Si todo está bien, se puede lanzar la orden sin el dry-run. search-replace permite usar expresiones regulares y hace sustituciones en registros en formato serializado. También se puede limitar la sustitución a una serie de tablas u omitir algunas de ellas, como muestra el ejemplo anterior el parámetro skip-tables.

Conclusión

wp-cli permite hacer cualquier tarea de administración y mantenimiento de una instalación de WordPress, y también de gestión del contenido. En la sección de comandos del manual oficial de wp-cli hay multitud de ejemplos de cada contexto y cada comando.

Y por supuesto cualquiera de estos comandos se puede ejecutar usando un script de bash, lo que permite automatizar tareas y ejecutarlas de manera periódica usando el cron del sistema, por ejemplo.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks