Planes de hosting
Servicios de hosting que se adaptan a las necesidades de tu proyecto
Planes Multicuenta
Hosting para desarrolladores, agencias y empresas, pudiendo gestionar las cuentas de tus clientes
Dominios
Registra o transfiere tu dominio de forma sencilla y al mejor precio
Soluciones
Conócenos
WP-CLI es una interfaz de línea de comandos que nos permite desde mejorar nuestro workflow durante el desarrollo, a agilizar la resolución de errores, actualizaciones, activación de themes y plugins y esto solo para empezar.
En nuestros servicios la instalación es tan sencilla como acceder a la terminal y ejecutar:
composer global require wp-cli/wp-cli
De esta forma instalamos el paquete wp-cli para que esté disponible en toda nuestra cuenta.
Esperamos a que finalice y tendremos disponible un nuevo comando llamado wp
.
Si al ejecutar
wp
recibes un mensaje de error, recuerda añadir la ruta de composer al fichero .bashrc.
Aunque ya ofrecemos una forma sencilla de instalar Wordpress, algunos usuarios prefieren la instalación manual, wp-cli permite realizar la misma desde la terminal.
Nos posicionamos en el directorio donde queremos instalarlo, preferiblemente un directorio vacío y como primer paso descargamos el core de Wordpress.
wp core download
A continuación configuramos los valores de conexión a la base de datos.
wp core config --dbname=base_datos \ --dbuser=usuario --dbpass=password \ --dbhost=localhost --dbprefix=wp_
Básicamente debes sustituir el nombre de la base de datos, usuario y password por los que correspondan a la configuración MySQL que has creado previamente.
Finalmente ejecutamos la instalación configurando algunos valores adicionales como dirección, usuario admin, entre otros.
wp core install --url=https://dominio.com \ --title=Sitio --admin_user=usuario \ --admin_password=password --admin_email=mi@email.com
Puede que hayas sufrido un hacking o que simplemente algo no funcione y necesites asegurarte que Wordpress está como debe, para ello puedes reinstalarlo con un simple comando.
wp core download --skip-content --force
Este comando solo reinstala el core, no perderás nada, plugins, themes y contenidos se mantendrán intactos.
Si por cambios de dominio o por pasar de desarrollo a producción, necesitas cambiar la url principal de Wordpress podrás ejecutar:
wp option update home 'https://nuevodominio.com' wp option update siteurl 'https://nuevodominio.com'
Donde nuevodominio.com sería la nueva url que Wordpress usará como principal.
Ejecutando wp plugin list
puedes obtener un listado de plugins, su estado y la versión en uso.
Instalar uno u varios plugins es tan fácil como ejecutar:
wp plugin install plugin1 plugin2 --activate
Añadiendo al final --activate
hacemos que además de instalarlos, los active.
Si no conocemos el nombre que debemos indicar respecto a algún plugin, podemos usar el buscador para localizarlo, el comando sería wp plugin search busqueda
.
También podemos indicar la url del zip que contiene el plugin:
wp plugin install https://url/fichero.zip --activate
Puedes desactivar plugins específicos con wp plugin deactivate plugin
, donde plugin sería el nombre que puedes obtener del listado de plugins instalados wp plugin list
.
En caso de necesitar desactivar todos ejecuta wp plugin deactivate --all
.
Para actualizar un plugin, ejecuta wp plugin update nombre-plugin
.
Esta función es una de las más potentes de wp-cli, la opción de buscar y reemplazar coincidencias en la base de datos.
Por ejemplo, has cambiado la dirección de tu web y muchas direcciones en el contenido de los posts siguen apuntando a la anterior.
En ese caso podrías ejecutar:
wp search-replace antiguo.com nuevo.com
Todas las coincidencias de antiguo.com se reemplazarían automáticamente con nuevo.com.
Si prefieres ver los cambios que realizaría antes de aplicarlos finalmente, puedes añadir al final del comando --dry-run
.
Pero podemos ir más allá, esta opción permite usar expresiones regulares, lo que significa que podremos modificaciones masivas mucho más flexibles.
Por ejemplo, imaginemos que tenemos un iframe en todas las páginas y posts que nos gustaría eliminar, pero por desgracia tiene variaciones en el tamaño, orden de los atributos e incluso dominio.
<iframe src='https://dominio/header.htm' frameborder='0' scrolling='no' width='620' height='70'></iframe> <iframe src='http://dominio/header.htm' frameborder='0' scrolling='no' width='10' height='20'></iframe> <iframe src='https://www.dominio/header.htm' scrolling='yes' ></iframe>
Vemos que el único patrón que podemos seguir es que se trata siempre del fichero header.htm y por otro lado que es un iframe, nada más.
Con esto en mente podemos crear una expresión regular que al buscar coincida con todas las opciones:
<iframe.*header.htm.*><\/iframe>
En esta expresión estamos diciendo que se busque un iframe donde header.htm aparezca dentro de la apertura del iframe, pero que pueda tener delante y detrás cualquier cosa, de esa forma creará una coincidencia amplia con los tres ejemplos que hemos puesto y con cualquier otra variación.
Ya con nuestra expresión regular podemos ejecutar la búsqueda y reemplazo.
wp-cli search-replace '<iframe.*header.htm.*><\/iframe>' '' \ --regex --precise --regex-flags='i' wp_posts \ --include-columns=post_content \ --dry-run
En la búsqueda hemos añadido nuestra nueva expresión regular, primero la expresión y luego la sustitución, dado que queremos eliminar, indicamos una cadena de texto vacía, a continuación hemos añadido --regex --precise --regex-flags='i' para que la herramienta sepa que estamos haciendo una búsqueda de tipo regex, tras esto la tabla en la que queremos buscar y la columna, al ser el contenido de los posts, indicamos post_content, finalmente --dry-run para que nos arroje las coincidencias sin reemplazar nada y asegurarnos de que nuestra expresión regular está funcionando antes de realizar finalmente el reemplazo masivo.
Las expresiones regulares son una herramienta muy potente pero difícil de entender al principio, el siguiente tutorial interactivo te ayudaría a entender mejor su sintaxis y capacidades.
La importación y exportación de una base de datos se puede realizar desde phpMyAdmin o con el comando mysql
, no obstante por conveniencia puede ser util hacerlo directamente con el comando wp
.
wp db export
generará en el directorio un fichero .sql con todo el contenido de la base de datos, mientras que wp db import fichero.sql
, importará fichero.sql a la base de datos.
wp cron event list
muestra un listado de eventos recurrentes ejecutados por Wordpress así como su intervalo de ejecución, fecha de la próxima ejecución y de la anterior, realmente útil en caso de depurar problemas de rendimiento que puedan estar relacionados con estas tareas.