Tutorial WP-CLI

Tutorial sobre cómo usar WP-CLI

WP-CLI es una interfaz de línea de comandos que permite a los usuarios gestionar sus sitios web de WordPress desde símbolo del sistema. Se pueden hacer actualizaciones, copias de seguridad, publicar post y la mayoría de las acciones de administración comunes con un conjunto de comandos.

En este tutorial vamos a explicar cómo utilizar la interfaz de línea de comandos WP con el fin de completar las tareas administrativas habituales como las actualizaciones, creación de copias de seguridad de bases de datos, plugins y las instalaciones y eliminación de temas, edición y borrado de posts, cambiar la configuración de URL del sitio y obtener ayuda sobre los comandos seleccionados. Ten en cuenta que el WP-CLI requiere un acceso SSH.

Lista de comandos disponibles en WP-CLI

En primer lugar, vamos a empezar con las instrucciones sobre cómo hacer una lista de los comandos disponibles y obtener ayuda detallada para cada uno de ellos.

Para una lista de todos los comandos escribe wp help o simplemente wp.

Se mostrará la siguiente lista:

Available commands:wp core [download|config|install|install_network|version|update|update_db]
wp db [create|drop|optimize|repair|connect|cli|query|export|import]
wp eval-file
wp eval
wp export [validate_arguments]
wp generate [posts|users]
wp home
wp option [add|update|delete|get]
wp plugin [activate|deactivate|toggle|path|update|uninstall|delete|status|install]
wp post-meta [get|delete|add|update]
wp post [create|update|delete]
wp theme [activate|path|delete|status|install|update]
wp transient [get|set|delete|type]
wp user-meta [get|delete|add|update]
wp user [list|delete|create|update]

See 'wp help ' for more information on a specific command.

Global parameters:
--user=set the current user
--url=set the current URL
--path=set the current path to the WP install
--require=load a certain file before running the command
--versionprint WP-CLI version

Si quieres obtener documentación detallada, por ejemplo, para el comando wp db export introduce el código que aparece a continuación:

wp help db export

Aparecerán los siguientes resultados:

WP-DB-EXPORT(1) WP-CLI WP-DB-EXPORT(1)
NAME
wp-db-export - Export the WordPress database using mysqldump.
SYNOPSIS
wp db export [file]
OPTIONS
file: The name of the export file. If omitted, it will be ´{dbname}.sql´

Ahora vamos a continuar con las tareas de gestión comunes.

Update WordPress via WP-CLI

Actualizar WordPress vía WP-CLIEn primer lugar, vamos a mostrar cómo actualizar los archivos principales de tu web. Comprobaremos la versión actual que tenemos:

wp core version
3.4.2

Obviamente no está actualizado. Para utilizar las últimas características de secuencias de comandos y tener todas las vulnerabilidades en las versiones anteriores parcheadas siempre debemos utilizar las últimas versiones estables para nuestras aplicaciones web. Usando WP-CLI vamos a completar la actualización con un solo comando:

wp core update
Downloading update from http://wordpress.org/wordpress-3.5.1-new-bundled.zip...
Unpacking the update...
Success: WordPress updated successfully.

Actualizar Plugins WordPress usando WP-CLI

La actualización de los archivos principales y la base de datos no son siempre suficientes. Si hemos integrado plugins y/ o temas externos debemos cuidar de su actualización. Tenemos que comprobar el estado de las extensiones instaladas:

wp plugin status

Installed plugins:
UI akismet
I hello
UA jetpack
A limit-login-attempts
A SGCachePress

Legend: I = Inactive, A = Active, M = Must Use, U = Update Available

Tenemos 5 plugins integrados en nuestra instalación muestra. Hay actualizaciones para dos de ellos. Vamos a completar las mejoras a través de los siguientes comandos:

wp plugin update jetpack

Downloading update from http://downloads.wordpress.org/plugin/jetpack.2.3.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
wp plugin update akismet

Downloading update from http://downloads.wordpress.org/plugin/akismet.2.5.8.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.

Instalar y Activar Plugins y Temas de WordPress vía WP-CLI

Para instalar y activar un nuevo plugin, ejecuta los comandos que aparecen a continuación:

  • wp plugin install Plugin_Name
  • wp plugin activate Plugin_Name

Debes reemplazar la cadena "plugin_name" con el nombre exacto del plugin.

Si no necesitas un plugin puede eliminarlo mediante las siguientes acciones:

wp plugin uninstall Plugin_Name

Ahora, vamos a comprobar los temas:

wp theme status
Installed themes:
UA twentyeleven
UI twentyten
I twentytwelve

Legend: I = Inactive, A = Active, U = Update Available

Para actualizar todos los temas, ejecuta el siguiente comando:

wp theme update --all 

Enabling Maintenance mode...
Downloading update from http://wordpress.org/themes/download/twentyeleven.1.5.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
Downloading update from http://wordpress.org/themes/download/twentyten.1.5.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
Disabling Maintenance mode...
Success: Updated 2/2 themes.

Los temas se pueden instalar, activar y desinstalan de forma similar a los plugins:

  • wp theme install Theme_Name
  • wp theme activate Theme_Name
  • wp theme delete Theme_Name

La cadena "Theme_Name" debe ser reemplazarse por el nombre real del tema.

La activación hará que el tema elegido sea la opción por defecto en la instalación de WordPress.

Otras Tareas que puedes hacer con WP-CLI

Incluso podemos escribir posts directamente desde la línea de comandos. En el siguiente ejemplo se practica la creación de un post en una nueva página:

wp post create --post_type=page --post_status=publish --post_title='My test post' --post_content='This is a test post'Success: Created post 4. 

Si no necesitamos un cierto post podemos eliminarlo fácilmente:

wp post delete 3 --forceSuccess: Deleted post 3. 

Una vez que hayamos mejorado nuestro script y establecer el contenido, podemos generar una copia de seguridad de la base de datos:

wp db exportSuccess: Exported to user_wp790.sql 

Si el web máster decide cambiar el dominio principal para la web de WordPress, puede actualizar fácilmente las opciones URL correspondientes:

wp option update home https://newdomain.com
wp option update siteurl https://newdomain.com

Podrás encontrar más detalles sobre WP-CLI en el comando de ayuda y la en la página del proyecto.