WP-CLI para administrar WordPress desde la consola de comandos

Autor: | 2017-01-03T19:19:35+00:00 Fecha: 20/09/2016|Categorías: WordPress|Comentarios: Ningún comentario

En el mundo de la informática existen una serie de herramientas clásicas con las que podemos realizar ciertas tareas administrativas de una manera rápida y productiva, como por ejemplo la interfaz en línea de comandos (command-line interface o CLI). Es importante destacar que una consola o terminal no es lo mismo que un CLI y habitualmente suelen usarse como sinónimos.

Un CLI es una interfaz de texto simple que nos permite dar instrucciones a un programa. Para un usuario normal, es más intuitivo y fácil hacer cualquier gestión a través de un entorno gráfico, pero esto no quiere decir que sea mejor o que puedas realizar todas las tareas de administración necesarias de una manera rápida y eficaz.

Párate a pensar por un momento, cuántas veces has tenido problemas con alguna aplicación que no has podido arreglar desde su interfaz gráfica. Seguro que muchas… por eso a los desarrolladores nos gusta tanto trabajar desde un terminal. Es eficaz, potente y para muchos casos la única manera de solucionar nuestros problemas,por ello, WordPress a incorporado WP-CLI a partir de su versión 3.7.

WP-CLI es una interfaz en línea de comandos para administrar instalaciones WordPress sin utilizar un navegador web. Es un proyecto inicialmente desarrollado por Andreas Creten y que a día de hoy sigue recibiendo actualizaciones regularmente.

wp-cli¿Qué podemos hacer con WP-CLI? Copias de seguridad de las bases de datos, instalar, gestionar o eliminar temas, crear, editar y borrar post, configurar URL, gestionar plugins… entre otras cosas.

En este artículo vamos a hablar extensamente de este proyecto. Una vez que lo pruebes verás lo fácilcapaz que es y no querrás utilizar otra cosa. Aprenderemos a instalarlo en nuestro servidor web y a trabajar con él correctamente.

Debemos tener en cuenta que WP-CLI es un sistema avanzado y que se requieren algunos conocimientos para manejarlo, al menos para manejarlo con soltura y poder aplicarlo a casos reales.

 

Cómo instalar WP-CLI

Antes de proceder con la instalación de WP-CLI debemos asegurarnos de que nuestro entorno web cumple una serie de requisitos mínimos.

  • La versión de PHP tiene que ser 3.5.29 o posterior.
  • La versión de WordPress tiene que ser la 3.7 o posterior.
  • El sistema operativo en el que trabaja el servidor web tiene que ser preferiblemente un entorno UNIX como por ejemplo: OS X, Centos, FreeBSD, Linux…etc.
  • Conexión ssh con el servidor.

Realmente, también se puede instalar en un servidor que utilice Windows, pero WP-CLI tiene un soporte limitado para este S.O por lo que no recomendamos trabajar con él.

Una vez realizadas las comprobaciones anteriores empezamos con la instalación. Existen las siguientes alternativas para instalar WP-CLI:

  • Instalación con el archivo Phar. (Recomendado)
  • Instalación Nightly a través de Phar.
  • A través de Composer.
  • A través de Homebrew.
  • Instalación en Windows.

Nosotros vamos a hacerlo con el archivo Phar. Es el método recomendado por los desarrolladores. Si en tu caso prefieres explorar otras alternativas puedes seguir el tutorial oficial del proyecto: https://wp-cli.org/docs/installing

Nos conectamos a nuestro servidor por ssh:

Descargamos a través del comando curl o wget el archivo wp-cli.phar desde el siguiente enlace https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Checkeamos el archivo con php para comprobar si funciona.

Modificamos los permisos de ejecución del fichero que acabamos de descargar con chmod.

Podríamos finalizar aquí la instalación pero vamos a realizar un último paso para facilitar el uso de WP-CLI. La idea es que podamos usar WP-CLI con comodidad, por eso vamos a “crear” un comando nuevo de consola con el nombre “wp” para poder usar este ejecutable desde cualquier lugar. Nuestro usuario tiene que poseer permisos de root para mover el archivo wp-cli.phar a /usr/local/bin/wp de la siguiente manera.

Si has realizado todo correctamente al ejecutar el siguiente comando te debería aparecer en consola un texto similar al que te mostramos a continuación:

wp-cli_1

¡Enhorabuena! Has instalado WP-CLI correctamente en tu servidor.

 

Cómo actualizar WP-CLI

Si ya tienes instalado WP-CLI en tu servidor y lo que necesitas es actualizar a su última versión, a continuación te vamos a enseñar como hacerlo, es muy fácil. Para cada método se procede de una manera diferente. Como en nuestro caso hemos utilizado el método de instalación a través de un archivo Phar no os vamos a mostrar como hacerlo para sus variantes. Pero no te preocupes, puedes ver como realizar una actualización para cada caso en su página oficial: https://wp-cli.org/docs/installing

WP-CLI, como cualquier interfaz en línea de comandos, tiene una lista de parámetros globales y comandos que podemos utilizar. Aun que no los veremos en profundidad si que explicaremos aquellos que consideramos más importantes o últiles para un usuario medio. Puedes ver la lista completa desde terminal escribiendo:

El comando de WP-CLI que se encarga de dar información sobre la propia instalación es “cli“. Está formado por una serie de subcomandos:

  • alias: Listado de alias disponibles.
  • check-update: Comprueba si hay actualizaciones nuevas en Github.
  • cmd_dump: Lista de comandos disponibles.
  • completions: Genera una tabla de cadenas de terminaciones.
  • info: Muestra varios datos sobre el entorno de WP-CLI.
  • param-dump: Lista de parámetros globales disponibles.
  • update: Actualiza WP-CLI.
  • version: Versión instalada de WP-CLI.

Comprobamos si existe alguna actualización pendiente:

Si es así, actualizamos:

 

Instalación de WordPress: Descarga, creación de wp-config e instalación base

A partir de aquí, empezamos a trabajar con WP-CLI. Si cerraste la conexión de ssh debes volver a abrirla para comenzar con la instalación de WordPress. Recuerda que antes de instalar este CMS, tenemos que tener la base de datos creada y al menos conocer los datos de conexión a la misma:

  • Nombre de usuario
  • Contraseña de usuario
  • Nombre de la base de datos
  • Host

Para descargar, instalar, actualizar y administrar el core de WordPress utilizamos el comando “core“, por lo tanto, lo primero que vamos a hacer es descargarnos la versión de WordPress en español en nuestro servidor con el subcomando “download“.

wp-cli_4

  • [–locale=<locale>]: Parámetro opcional. Asigna el idioma en el que queremos instalar nuestro blog. Puedes ver la lista de los idiomas que soporta WordPress en el siguiente enlace: https://make.wordpress.org/polyglots/teams/

Una vez descargados los archivos procedemos a su instalación. Al igual que se hace desde el entorno gráfico, el siguiente paso es configurar el archivo wp-config.php con los datos de acceso a la base de datos mediante el subcomando “config“.

config, genera el archivo wp-config.php con los datos que le pasamos a desde los argumentos del comando. Aunque posee varias opciones y no todas obligatorias, nosotros solo le vamos a añadir aquellos datos básicos:

Instalamos el CMS y listo:

wp-cli_5

Como ves, es muy rápido, fácil e intuitivo. Ya tenemos nuestro WordPress instalando y funcionando correctamente en menos de 3 minutos.

 

Configuración básica inicial de WordPress

Antes de empezar a trabajar con WordPress, vamos a configurar sus opciones básicas con el comando “option“. Su estructura es muy simple:

Está formado por una serie de subcomandos que nos permite realizar unas operaciones muy sencillas:

  • add: Añadir una opción.
  • delete: Eliminar una opción.
  • get: Recuperar el contenido de una opción.
  • list: Listar las opciones
  • update: Actualizar una opción.

Como la tabla que guarda los ajustes de configuración de la base de datos es bastante extensa, vamos a actualizar solo aquellos que más nos interesan como se ve en los siguientes ejemplos:

Para terminar creamos la estructura de las URLs personalizadas para los enlaces permanentes y los archivos con el comando “rewrite“. En nuestro caso, los enlaces permanentes van a formarse como el nombre del post pero tú puedes usar la estructura que quieras:

 

Instalación y gestión de temas

Las plantillas, temas o themes son un conjunto de archivos que siguen una serie de reglas que hacen que el aspecto de nuestra web resulte más atractivo,llamativo y usable. Es aquello con lo que interactúa un usuario por lo que tenemos que escoger con mucho cuidado la que queremos instalar. Existen varios métodos para instalar un theme: desde el repositorio oficial de WordPress o a través de un archivo comprimido ya descargado en nuestro servidor. Seleccionamos uno de los métodos y realizamos los pasos que os vamos a explicar a continuación.

El comando de WP-CLI que administra los temas es “theme“. Nos permite gestionar todas las acciones relacionadas con las plantillas. Está compuesto por una serie de parámetros y subcomandos que vamos a ver un poco más en profundidad con una serie de ejemplos.

 

Instalar un theme de WordPress

Una vez seleccionado un tema, procedemos a su instalación. Para ello utilizamos el subcomando “install“. Su estructura es la siguiente:

  • [–version]: Parámetro opcional con argumentos. Cuando instalas un tema nuevo, siempre se descarga la versión estable del mismo. Si quieres que sea otra, entonces, necesitas añadir este argumento a tu línea de comando.
  • [–force]: Parámetro opcional. Si ya existe un tema instalado con el mismo nombre lo sobreescribe sin pedir confirmación.
  • [–activate]: Parámetro opcional. El tema que estás instalando se activará como theme predeterminado.

Seleccionamos un theme del repositorio, como por ejemplo, Sito y construimos la sentencia:

wp-cli_2

wp-cli_15

Eliminar un theme en WordPress

Ahora vamos a eliminar todos los temas que no estamos utilizando. ¿Porqué? Porque son vulnerables a ataques que podrían infectar nuestra página web. No es obligatorio pero si una buena práctica si quieres mantener tu sitio seguro y limpio.

Desde WP-CLI podemos ver que temas están instalados y activados en este momento con el subcomando “list”. Su estructura es muy simple:

wp-cli_3

Como podemos ver en la imagen anterior, tenemos los 3 temas que están por defecto instalados e inactivos. Para borrarlos utilizamos subcomando “delete”.

Gestión de themes

Ya tenemos nuestro theme listo para trabajar con él. Si eres programador y en un futuro vas a realizar cambios en el código te recomendamos que crees un “Child Theme”. Un Child Theme o también llamado Tema hijo modifica y expande las funcionalidades de un theme padre. Por lo tanto, si realizas modificaciones en el código, no pierdes los cambios realizados una vez que el theme se actualice.

Pero… ¿cómo lo creamos?. Existe un comando llamado “scaffold” dentro de WP-CLI que genera código para post types, taxonomías, child themes y plugins. Su estructura es la siguiente:

Scaffold, como otros, contiene una serie de subcomandos, que no podemos ver en su totalidad pero si aquellas opciones que necesitamos para crear un theme hijo.

El subcomando “child-themenos permite crear un “theme hijo” del tema que está activado e instalado. Posee una serie de opciones. La más destacables son:

  • <slug>: Escribimos el nombre del slug del theme hijo que queremos crear.
  • [–parent_theme=<slug>]: Valor “Theme Name” del archivo style.css
  • [–activate]: Parámetro opcional. Activar el nuevo theme
  • [–force]: Parámetro opcional. Sobreescribe los archivos en el caso de que existan sin pedir confirmación.

La nomenclatura que se recomienda usar para este tipo de tareas es la siguiente: nombretheme-child. En nuestro caso: “satu-child”

Listo. Si en algún momento necesitas volver a activar el theme padre, solo tienes que usar el subcomando de theme “activate” como se ve en la siguiente imagen:

wp-cli_6

Llegados a este punto, no vamos a realizar más modificaciones en el aspecto. El siguiente paso es seleccionar e instalar los plugins que proporcionen las funcionalidades adicionales que queremos ofrecer en nuestra web.

 

Instalación y gestión de plugins

Es el turno de los plugins. Vamos a proceder como en el apartado anterior. Al igual que con las plantillas, podemos instalarlos desde el repositorio oficial de WordPress o desde un archivo comprimido que se encuentre en nuestro servidor.

El comando “plugin” nos permite gestionar todas las tareas relacionadas con plugins. Funciona de manera similar al comando theme visto con anterioridad. Aun que tiene más de 10 subcomandos disponibles, nosotros solo vamos a ver los más importantes.

Instalar un plugin de Wordpress

A continuación vamos a instalar el plugin Yoast Seo desde WP-CLI con “install“. Su estructura es la siguiente:

No vamos a explicar que es cada uno de los parámetros opcionales porque son prácticamente los mismos que vimos con el comando “theme”.

Activar y desactivar un plugin de Wordpress

Una vez instalados los plugins que nos interesa, tenemos que activarlos si no hemos usado la opción –activate en el paso anterior. Para listarlos y ver en que estado se encuentran, utilizaremos el subcomando “list“.

wp-cli_8

Vamos a activar Akismet y acto seguido desactivarlo para probar los subcomandos activate y deactivate.

Eliminar un plugin de Wordpress

Como puedes ver, funciona de la misma manera que un theme, no tiene mayor complicación. Hay dos plugins de WordPress que vienen instalados por defecto Akismet y hello. No los vamos a activar por lo que vamos a eliminarlos por las mismas razones que borramos un theme que no se está utilizando.

Hay dos maneras de hacerlo: delete y uninstall. Pero.. ¿cual es la diferencia entre ellas? ¿El resultado es el mismo? Si utilizamos el subcomando “delete“, WP-CLI va a eliminar de tu sistema el plugin si o si. No importa si se está activo ni si quieres mantener los archivos en tu servidor. Es un borrado completo.
El subcomando “uninstall” es “más seguro” y el que usaría en estos casos. Tiene diferentes opciones que te permite desactivar el plugin antes de eliminarlo o incluso mantener los archivos en tu servidor. Su estructura es la siguiente:

  • [–deactivate]: Desactiva el plugin antes de desinstalarlo.
  • [–skip-delete]: Permite mantener los archivos en el servidor y realizar solo su desinstalación.

Como ejercicio, vamos a eliminar por un método Akismet y por otro hello.

Gestión de usuarios

WordPress, como cualquier otro CMS, posee un sistema de usuarios bastante completo. Por defecto crea 6 perfiles diferentes: Subscriptor, colaborador, autor, editor, administrador y superadministrador. En el caso del superadministrador solo está disponible en multisites.

Cada uno tiene unos permisos asociados con los que pueden realizar diferentes tareas.

 

wp_cli_tabla

Con la instalación hecha con anterioridad se ha creado un usuario administrador. Si ejecutamos el subcomando “list“, debería aparecer la lista con todos aquellos que están registrados en WordPress.

wp-cli_9

Efectivamente, solo tenemos uno, pero queremos que más gente entre en el panel de administración de nuestro WordPress. Estos usuarios tienen que tener permisos limitados. Para conseguir esto, sigue los pasos que os mostramos a continuación.

 

Crear un rol de usuario de WordPress

Cuando creamos un usuario, por defecto se le asigna el rol con menos privilegios: subscriptor. Un rol o perfil es una función o papel que cumple un usuario. Se le asocian una serie de permisos a cada uno. Antes de crear un usuario nuevo vamos a crear un rol con el comando role. Su estructura es la siguiente:

El rol que vamos a crear tiene los mismos privilegios que el editor y se va a llamar “DptoWP”. Para ello utilizamos el subcomando “create”:

wp-cli_10

 

Crear un usuario de WordPress

Ahora ya podemos crear un usuario con el perfil nuevo. Al igual que con role, el subcomando para hacerlo es “create”. Dentro de las numerosas opciones que nos ofrece prinicipalmente nos interesan las siguientes:

  • <user-login>: Nombre de usuario.
  • <user-email>: Dirección de email.
  • [–role=<role>]: Parámetro opcional. El rol que se le asigna a un usuario.
  • [–user_pass=<pass>]: Parámetro opcional. La contraseña para el nuevo usuario.
  • [–send-email]: Parámetro opcional. Envía un email al usuario con los datos de su registro.

wp-cli_11

En muchos casos, un administrador necesita crear una serie de usuarios aleatorios rápidamente. WP-CLI nos permite realizar esta acción a través del subcomando “generate“:

Para finalizar comprobamos que los usuarios se han creado correctamente y que el contenido que le hemos proporcionado es exacto. Con “get“, podemos recuperar los datos de un usuario. Su estructura es la siguiente:

wp-cli_12

Eliminar un usuario de WordPress

Si lo que necesitas es eliminar a un usuario en concreto o incluso varios a la vez, “delete” es tu subcomando. Su estructura es la siguiente:

  • <user>: El login del usuario, email o identificador. Si necesitas eliminar más de un usuario, puedes poner la lista de identificadores.
  • [–network]: Parámetro opcional. En multisites elimina a un usuario de la red entera.
  • [–reassign] Identificador de usuario >]: El identificador de usuario a los que se le reasignarán a partir de ahora los post que ha creado el usuario que vamos a eliminar.
  • [–yes]: Acepta automáticamente los mensajes de confirmación.

Gestión de contenido

El comando “post” se utiliza para gestionar todo lo referente a las entradas y páginas. Te permite crear, eliminar, editar, generar aleatoriamente entradas, listarlas todas,…etc

Lo primero que vamos a hacer es, crear un post nuevo mediante un archivo .txt. Pero ¡ojo! por defecto se guarda como borrador. Tenemos que ajustar los parámetros necesarios para que se publique directamente. Como siempre, para crear contenido utilizamos el subcomando “create”. Su estructura en este caso es la siguiente:

Contiene una serie de opciones que no son obligatorias, pero nos ayudan a añadir todos los campos que almacena un post como si lo hiciésemos desde el entorno gráfico:

  • [–post_type=< post | page>]: Por defecto, se crea como post. Este parámetro define el tipo que vamos a crear, ya sea una página o una entrada.
  • [–page_template]: En el caso de que ese post o página tenga una plantilla propia, se lo podemos añadir.
  • [–menu_order=<número de página>]: Solo para post_type de page. Indicamos el número de página.
  • [–post_status= < draft | publish | pending >]: Estado del post o página. Por defecto es Draft (borrador).
  • [–post_title= <título>]: El título de la página o el post.
  • [–post_author: < id>]: Identificador del autor del post.
  • [–post_category= <id, id, <…>> ]: Identificadores de categorías
  • [–tag_input= <‘<tag>, <tag>, <…>’] Lista de los tags que le queremos añadir al post.
  • [–post_parent= < id >]: Identificador del post padre.
  • [–comment_status= < closed | open >]: Define si se pueden añadir o no comentarios al post o página.
  • [–ID: < id >] En el caso de que se haga una actualización, añadimos el identificador del post o página.
  • [–post_date=< Y-m-d H:i:s >] Fecha de creación.
  • [–post_date_gmt=< Y-m-d H:i:s> ] La fecha en GMT.

Partimos de que el archivo se encuentra en una carpeta /archivos/ dentro de nuestro raíz y componemos la sentencia:

wp-cli_14

Ya tenemos el post creado. Imagina que necesitamos editar su contenido. ¿Cómo podemos hacerlo desde la consola? A través de “edit”. Se abrirá el editor que tengamos por defecto en el terminal (Vim en nuestro caso). Realizamos los cambios necesarios y guardamos los datos desde el editor ¡Fácil!.

Su estructura es muy simple. Solo necesitamos saber cuál es el identificador de post creado en el paso anterior.

Si no recordamos cual es, podemos listar los post y pages creados con “list“:

wp-cli_17

Si en vez de editarlo desde consola queremos substituirlo por el contenido del archivo .txt (de uno o varios post/page) lo podemos hacer con “update” como podemos ver a continuación:

Es exactamente igual que el comando create y utiliza prácticamente las mismas opciones por lo que ya no lo veremos en profundidad.

Realmente la mayoría de los subcomandos funcionan de manera muy similar y una vez que coges práctica con WP-CLI verás que es muy sencillo e intuitivo de utilizar.

 

Reparación y optimización de tu base de datos

Dejamos a un lado las acciones habituales que realizamos con WordPress y nos adentramos un poco en las tripas del CMS. La base de datos es uno de los elementos principales y esenciales de nuestro WordPress, pero muchas veces se corrompen y causan problemas en nuestra página web. Las tablas se dañan por caídas repentinas del servidor o modificación errónea de alguna de ellas y con el paso del tiempo se fragmentan.

WP-CLI posee un comando que permite realizar todas las operaciones básicas referentes a la base de datos, “db“. Este, posee una serie de subcomandos que nos permiten hacer diferentes tareas:

  • cli: Abre una consola de MySQL con los datos que aparecen en wp-config.php.
  • create: Crear una base de datos en MySQL.
  • drop: Eliminar un base de datos en MySQL.
  • export: Exportar una base de datos MySQL a un archivo o a desde STDOUT.
  • import: Importar una base de datos MySQL desde un archivo o desde STDIN
  • optimize: Optimizar la base de datos.
  • query: Ejecuta una consulta en la base de datos que se está ejecutando.
  • repair: Repara la base de datos.
  • reset: Elimina todas las tablas.
  • tables: Lista las tablas.

Como ves, se pueden hacer muchas tareas desde WP-CLI pero nosotros ahora solo queremos aprender como se repara una base de datos cuando está corrupta, por lo que vamos a profundizar en el subcomando “repair”. Su estructura es muy simple:

Lo que hace WP-CLI por debajo realmente es ejecutar mysqlcheck –repair con las credenciales que hay en el archivo wp-config.php. Este comando repara cualquier cosa a excepción de las claves únicas cuando no son únicas.

Cuando el problema con nuestra base de datos es la fragmentación lo resolvemos con una optimización. Pero ¿qué sucede cuando se fragmenta una base de datos?. Si ocurre esto se aprecia que las consultas se realizan más lentamente. Sobretodo aquellas tablas que tienen mucho movimiento (principalmente consultas SQL de insert y delete) como pueden ser las de login de usuario, tablas intermedias,…etc.

Cuando realizamos una optimización las tablas con filas eliminadas se compactan, se actualizan las estadísticas y se ordenan los índices. Podemos comprobar si nuestras tablas están fragmentadas desde la consola de mysql. Accedemos a ella desde WP-CLI utilizando el subcomando “cli

Una vez dentro ejecutamos la siguiente consulta:

En Porcentaje_Fragmentado podemos como de fragmentada está una tabla y evaluar si necesita una optimización. Si este es el caso, usaremos el subcomando “optimize” de la siguiente manera:

Al igual que “repair”, se ejecuta el comando mysqlcheck por debajo, pero en este caso con la opción –optimize.

¡Listo! Nuestra base de datos está reparada y optimizada.

 

Buscar y reemplazar cadenas en la base de datos

A veces, cuando administramos WordPress, se nos presentan diferentes situaciones en las que necesitamos realizar un cambio en la base de datos de una cadena por otra. Por ejemplo: hemos migrado una web a otro hosting, un plugin que nos facilitaba un short-code que utilizamos en todos los post ha dejado de funcionar con la nueva actualización de WordPress, añadimos certificados SSL a nuestra web y tenemos que cambiar los http por https,…etc Desde el entorno gráfico (como podéis ver en otros post de nuestro blog) solemos instalar el plugin Better Search and Replace. WP-CLI nos proporciona un comando que funciona de manera similar y nos permite realizar estos cambios en la base de datos. Maneja los datos de PHP serializado y no cambia los valores de las claves primarias. Ese comando se llama “search-replace“. Su estructura es la siguiente:

Las opciones que posee y que vamos a utilizar son las siguientes:

  • <cadena vieja>: Cadena que queremos substituir por una nueva.
  • <cadena nueva>: Cadena nueva que queremos substituir por la vieja.
  • [<table>…]: Parámetro opcional. Lista de tablas en las que queremos realizar la substitución.
  • [–dry-run]: Parámetro opcional. Ejecutar en seco la acción. Muestra un informe de los cambios pero no los guarda en la base de datos.
  • [–network]: Parámetro opcional. Ejecuta buscar y remplazar en todas las tablas del multisite registradas en la variable global $wpdb.
  • [–all-tables]: Parámetro opcional. La acción se realiza en todas las tablas de la base de datos, aun que no esten registradas en $wpdb.
  • [–export[=<file>]]: Parámetro opcional. Escribir los datos de la acción realizada en un archivo SQL en vez de guardarlos en la base de datos.
  • [–export_insert_size[=[rows]]: Parámetro opcional. Definir el número de filas en una sola instrucción INSERT cuando hacemos la exportación al archivo SQL.
  • [–skip-columns=<columns>]: Parámetro opcional. No realiza la substitución en las columnas señaladas.
  • [–include-columns=<columns>]: Parámetro opcional. Substitución en una serie de columnas en exclusivo.
  • [–precise]: Forzar el uso de PHP.
  • [–recurse-objects]: Parámetro opcional. Habilitar de manera recursiva para reemplazar cadenas. Por defecto está en true.
  • [–verbose]: Parámetro opcional. Imprime por pantalla el contenido a medida que se actualiza.
  • [–regex]: Parámetro opcional. Utilizamos una expresión regular para realizar la búsqueda.

NOTA: El objeto $wpdb se utiliza para interactuar con la base de datos.

Si todo está correcto entonces realizamos los cambios en la base de datos

wp-cli_23

Como podemos ver en la imagen de arriba, la substitución se ha realizado con éxito.

 

Importar y exportar el contenido de WordPress

WordPress proporciona herramientas para hacer copias de seguridad de su contenido. Cuando hablamos de backup de contenido nos referimos a los datos de las páginas, post, usuarios, etiquetas,…etc. no a la web completa con todos sus archivos. WordPress exporta toda la información a un archivo WXR. Un archivo WXR es un formato específico de WordPress en XML para importar y exportar la información de una web a otra instalación de este CMS.

Dentro de WP-CLI existen dos comandos que permiten realizar un backup de contenido: “export” e “import“. “export” tiene una lista larga de opciones y filtros que podemos utilizar, pero en nuestro caso vamos a limitarnos a exportar todo el contenido de la web de la siguiente manera:

wp-cli_26

Si tenemos una instalación nueva y lo que queremos es importar el contenido de otro WordPress, la sentencia es la siguiente:

Y con estas dos acciones importarmos y exportamos todo el contenido de nuestro blog.

 

Lista de comandos disponibles en WP-CLI

Después de todo lo que hemos visto en este artículo sobre WP-CLI puedes hacerte una idea de las distintas funcionalidades que aporta. Todavía tiene más comandos y subcomandos que no vamos a ver pero de los que puedes encontrar ejemplos e información en la página web oficial del proyecto: http://wp-cli.org/

La lista completa de los comandos que forman parte de esta interfaz en línea de comandos es la siguiente:

  • cache: Gestionar los objetos de la memoria de cache.
  • cap: Gestionar los permisos de los roles de WordPress.
  • cli: Obtiene información sobre WP-CLI.
  • comment: Gestión de comentarios.
  • core: Descargar, instalar, actualizar y administrar el core de Wordpress
  • cron: Gestionar eventos de cron.
  • db: Gestionar la base de datos.
  • eval: Ejecutar código PHP.
  • eval-file: Carga y ejecuta un archivo PHP.
  • export: Exportar el contenido a un archivo WXR.
  • help: Ayuda de WP-CLI y sus comandos.
  • import: Importar un archivo WXR.
  • media: Gestión de archivos adjuntos como fotografías, vídeos,…etc
  • menu: Listar, crear, asignar y eliminar los menús.
  • network: Tareas de red.
  • option: Administrar las opciones de WordPress.
  • package: Administrar paquetes de WP-CLI.
  • plugin: Gestión de plugin de usuarios.
  • post: Gestión de post y páginas.
  • post-type: Gestión de post types.
  • rewrite: Gestión de las reglas de escritura.
  • role: Gestión de roles de usuarios.
  • scaffold: Genera código para post types, taxanomías, child-themes y plugins.
  • search-replace: Buscar y reemplazar una cadena de texto por otra.
  • server: Lanzamiento de una web construida en PHP para instalación específica de WordPress.
  • shell: Consola de PHP.
  • sidebar: Gestión de tablas laterales.
  • site: Gestión de sitios. (Administración de multisites)
  • super-admin: Listar, añadir, borrar y editar super administradores desde una red para multisites.
  • taxonomy: Gestión de taxonomias.
  • term: Gestión de categorías.
  • theme: Gestión de plantilllas.
  • transient: Gestión de transitorios.
  • user: Gestión de usuarios.
  • widget: Gestión de widgets.
[Total: 5 Promedio: 5]
Ángela Piñeiro
Soy graduada en Ingienería Informática y formo parte del departamento de Wordpress de Raiola Networks.

Utilizamos cookies propias y de terceros para obtener información estadística, mostrar publicidad personalizada a través del análisis de tu navegación, así como para interactuar en redes sociales. Si continúas navegando, consideramos que aceptas nuestra Política de cookies. ACEPTAR

Aviso de cookies