WordPress en línea de comandos

Bueno, aviso que esto de WordPress en línea de comandos es friki, pero muy friki, nada para todos los públicos pero en cualquier caso una posibilidad más del ecosistema en que se ha convertido WordPress.

La interfaz de comandos para WordPress, o wp-cli, es una serie de comandos para gestionar instalaciones de WordPress y más cosas. Y es que con wp-cli puedes actualizar plugins, instalar WordPress, publicar entradas, prácticamente de todo y creciendo.

Ah, y no es un plugin, es un sistema que requiere una instalación propia que puedes hacer de varias maneras, a saber … 

A través de PEAR lo harías así:

sudo pear channel-discover wp-cli.org/pear
sudo pear install wpcli/wpcli

A través de GIT:

git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
cd ~/git/wp-cli
sudo utils/dev-build

Donde puedes reemplazar ~/git/wp-cli con lo que tu quieras.

Y en MAMP, XAMP, etc.

Si no hay un comando php disponible puedes tratar de encontrar un binario desde el que hacerlo:

./utils/find-php

Luego creas una variable de entorno llamada WP_CLI_PHP con la ruta que encuentre find.php

En un entorno UNIX podrías hacerlo añadiendo la línea siguiente a tu archivo .bashrc:

WP_CLI_PHP=/path/to/php-binary

Vale, muy bien, ya lo tengo instalado pero … ¿esto como se usa?

Pues vas a la carpeta raiz de WordPress:

cd /var/www/wp/

Si tecleas wp deberías ver una salida similar a esto:

Available commands:
    wp blog create|delete
    wp cache add|decr|delete|flush|get|incr|replace|set|type
    wp comment create|delete|trash|untrash|spam|unspam|approve|unapprove|count|status|last
    wp core download|config|is-installed|install|install-network|version|update|update-db
    wp db create|drop|reset|optimize|repair|connect|cli|query|export|import
    wp eval-file
    ...
See 'wp help <command>' for more information on a specific command.

A partir de ahí podemos, por ejemplo, instalar un plugin desde WordPress.org. Para no complicar el ejemplo elegimos el inútil Hello Dolly:

wp plugin install hello-dolly

Y lo que veremos será esto:

Installing Hello Dolly (1.5)

Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
Unpacking the package ...
Installing the plugin ...
Plugin installed successfully.

Como ves, los comandos, una vez instalado, son realmente sencillos e intuitivos.

Otro ejemplo sería una instalación de Multisitio, donde tendríamos que darle a wp-cli el parámetro --blog par que sepa sobre qué sitio de la red se supone que debe actuar:

wp theme status --blog=localhost/wp/test

Y si es en una instalación en subdominio sería algo así:

wp theme status --blog=test.example.com

Si estás trabajando en el mismo sitio casi todo el tiempo puedes poner la url de ese sitio en un archivo llamado ‘wp-cli-blog‘ que crearás en la carpeta raíz de tu WordPress:

echo 'test.example.com' > wp-cli-blog

A partir de este momento ya puedes llamar a wp sin el parámetro --blog:

wp theme status

La lista completa de comandos la tienes aquí, e incluso puedes crear más comandos en la cocina de wp-cli.

Bueno, como te avisé no es algo para usar a diario por cualquiera, pero si un modo genial de administrar un WordPress desde línea de comandos, por ejemplo a través de SSH, así que guarda por ahí el enlace para cuando tengas unos días tontos en los que no sepas en qué enredar con WordPress.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(4 votos, promedio: 3.5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

4 comentarios en “WordPress en línea de comandos”

  1. O_O … simplemente maravilloso.

    Soy uno de los administradores y fundadores de DesdeLinux.net, ¿puedo tomar tu artículo y referenciarlo ahí? Obviamente citaría el post original así como el autor del mismo 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido