SlideShare a Scribd company logo
1 of 47
Download to read offline
WP-CLI
La navaja suiza de WordPress
que te hará un superhéroe
WP VALENCIA
http://www.wpvalencia.org/
@_wpvalencia
#wpvalencia
AGRADECIMIENTOS
IEM Business School
http://iembs.com/
Soy Sergio Nieto
Developer freelance de WordPress
Coorganizador de #wpvalencia Meetup
Hablo poco, pero lo hago como @snieto
Qué voy a contar
· Qué es WP-CLI
· Cómo instalarlo
· Qué superpoderes tiene
· Comandos para ser un superhéroe
· Cómo salvar el mundo
Qué es WP-CLI
WP-CLI es un conjunto de
herramientas de línea de comandos
que nos permiten gestionar
instalaciones de WordPress.
!
Y todo ello sin usar un navegador.
!
Major contributor: Daniel Bachhuber
1
¿Y qué tiene eso de especial?
Me ahorra tiempo.
Me facilita la gestión de WP.
Me soluciona problemas.
Me permite automatizar.
Me deja extenderlo.
!
Me da superpoderes.
Me hace más ‘cool’.
¿Cómo funciona?
WP-CLI es una librería de comandos
que expone las funciones internas de
WordPress.
!
Ahora podemos acceder a funciones,
a recursos, a la base de datos, y a
todo lo que tenga una instalación de
WordPress estándar.
Odio la línea de comandos
No eres el único.
Pero desde WordPress.org tratan de
hacer este ‘entorno’ más amigable
con esta pequeña guía:
!
https://make.wordpress.org/cli/
handbook/shell-friends/
!
(A mí me gusta)
Tiene soporte oficial
En diciembre de 2016 Matt Mullenweg
anuncia que WordPress.org apoya
oficialmente el proyecto.
!
“one of the highest impact
developments for WP in many years.”
!
https://wptavern.com/wp-cli-gets-official-
wordpress-org-support
Las webs de WP-CLI
http://wp-cli.org/
!
https://make.wordpress.org/cli/
https://make.wordpress.org/cli/
handbook/tools/
Créditos
· Daniel Bachhuber - current maintainer
!
· Cristi Burcă - previous maintainer
!
· Andreas Creten - founder
!
https://github.com/wp-cli/wp-cli/
graphs/contributors
¿Cómo instalarlo?
La opción sencilla:
!
Descargar el fichero wp-cli.phar.
Darle permisos y una nueva casa.
!
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-
pages/phar/wp-cli.phar!
!
chmod +x wp-cli.phar!
!
sudo mv wp-cli.phar /usr/local/bin/wp
2
Instalación (2)
La opción ‘PRO’:
!
Incluirlo en tu proyecto con
composer.
!
!
"wp-cli/wp-cli": "@stable"!
!
Instalación (3)
Ahora ya podemos usarlo:
!
wp <comando>
wp cli (para gestionarlo a él mismo)
!
Por ejemplo:
!
!
wp cli version!
> WP-CLI 1.1.0
Qué superpoderes tiene
Las opciones que nos da WP-CLI son
muchísimas.
!
Estas son algunas de ellas:
!
- Instalar WP
- Actualizar WP
3
Superpoderes (2)
- Instalar plugins
- Actualizar plugins
- Activar/desactivar plugins
!
- Instalar temas
- Actualizar temas
- Activar/desactivar temas
!
Superpoderes (3)
- Escribir posts y páginas
- Borrar posts y páginas
- Cambiar el estado de posts y
páginas
!
- Listar y obtener información de
tipos de post (CPT)
!
Superpoderes (4)
Abreviemos…
- Gestionar comentarios
- Gestionar cron
- Importar/exportar base de datos
- Ejecutar consultas
- Crear, Optimizar, reparar, borrar
- Regenerar thumbnails
- Y mucho más
Superpoderes: TODOS
Cómo convertirme en
superhéroe
Veamos algunos ejemplos en los que
WP-CLI nos va a ayuda a convertirnos
en alguien muy especial.
!
Vamos a convertirnos en un
verdadero superhéroe.
4
Empecemos poco a poco
Formulario web para ayudar a crear
los comandos para instalar
WordPress con WP-CLI.
!
https://wpcligui.com/
!
!
Superhéroe de plugins
Instalar y activar plugins:
wp plugin install woocommerce —activate!
!
Activar plugins:
wp plugin activate woo commerce!
!
Desactivar plugins:
wp plugin deactivate woocommerce!
!
Listar plugins:
wp plugin list
Superhéroe del post
Listar post:
wp post list --post_type=page —fields=post_title,post_status!
!
!
Superhéroe del post (2)
Listar post:
wp post list --post_type=page —fields=post_title,post_status!
!
!
¿No te impresiona?
Borrar post por defecto de WordPres:
!
wp post delete $(wp post list --post_type=page --
posts_per_page=1 --post_status=publish --
pagename="sample-page" --field=ID --format=ids)
Superhéroe del post (3)
usage: wp post create [<file>] [--<field>=<value>] [--edit] [--
porcelain]
or: wp post delete <id>... [--force] [--defer-term-counting]
or: wp post edit <id>
or: wp post generate [--count=<number>] [--
post_type=<type>] [--post_status=<status>] [--
post_author=<login>] [--post_date=<yyyy-mm-dd>] [--
post_content] [--max_depth=<number>] [--format=<format>]
or: wp post get <id> [--field=<field>] [--fields=<fields>] [--
format=<format>]
or: wp post list [--<field>=<value>] [--field=<field>] [--
fields=<fields>] [--format=<format>]
or: wp post meta <command>
or: wp post term <command>
or: wp post update <id>... [<file>] --<field>=<value> [--defer-
term-counting]
Superhéroe del post (4)
Crea posts programados:
wp post create --post_type=page --post_title='A future post' --
post_status=future --post_date='2020-12-01 07:00:00'!
!
!
Crea posts a partir de un fichero:
wp post create ./post-content.txt --post_category=201,345 --
post_title='Post from file’!
!
Parámetro que devuelve solo el ID:
--porcelain
Superhéroe de la eficiencia
Genera cientos de posts (para probar
paginación, velocidad, etc):
!
wp post generate --count=100 --post_type=page —
post_date=2002-02-02!
!
Generalos a partir de contenido:
!
curl http://loripsum.net/api/5 | wp post generate --
post_content --count=10
Superhéroe del thumbnail
Regenerar thumbnails:
wp media regenerate —yes!
!
!
Importar una imagen local y añadirla
como imagen destacara de un post:
!
wp media import ~/Downloads/image.png --post_id=123 --
title="A downloaded picture" --featured_image
Superhéroe políglota
Lista los paquetes de idiomas
instalados:
wp core language —list —fields=language!
!
Instala diferentes ficheros de
idiomas:
wp core language install es_ES —activate!
!
Superhéroe del reemplazo
Reemplazar cadenas en base de
datos (histórico dolor de cabeza de
WP para el caso de la url)
!
wp search-replace “http://domain.dev” “http://domain.com”
—skip-columns=guid!
!
Para cobardes (cautos, mejor dicho):
!
wp search-replace “http://domain.dev” “http://domain.com”
—skip-columns=guid —dry-run
Superhéroe de whatever
http://wordpress.stackexchange.com/
questions/tagged/wp-cli
!
https://make.wordpress.org/cli/
handbook/external-resources/
!
!
Cómo salvar el mundo
· Coleccionando ‘recetas’ de
comandos WP-CLI para las épocas de
tempestad.
!
· Automatizando tareas para
minimizar fallos.
!
· Extendiendo WP-CLI con tus
comandos
5
Activar el autocompletado
Existe un script para usar con Bash y
ZSH que activa el autcompletado de
comandos:
!
~/.bash_profile
source /FULL/PATH/TO/wp-completion.bash
!
source ~/.bash_profile
!
https://raw.githubusercontent.com/wp-cli/wp-cli/
master/utils/wp-completion.bash
El fichero config
https://make.wordpress.org/cli/handbook/config/#config-files
!
# Global parameter defaults
path: wp-core
url: http://example.com
user: admin
color: false
disabled_commands:
- db drop
- plugin install
require:
- path-to/command.php
!
# Subcommand defaults (e.g. `wp core config`)
core config:
dbuser: root
dbpass:
extra-php: |
define( 'WP_DEBUG', true );
define( 'WP_POST_REVISIONS', 50 );
Dominar los alias
Fichero de configuración ~/.wp-cli/
config.yml
!
@staging:
ssh: wpcli@staging.wp-cli.org
user: wpcli
path: /srv/www/staging.wp-cli.org
@production:
ssh: wpcli@wp-cli.org:2222
user: wpcli
path: /srv/www/wp-cli.org
—-—-—-—-
!
wp @production db export > sql-dump-production.sql
Dominar los paquetes
http://wp-cli.org/package-index/
!
Hay algunos incorporados ya a WP-CLI y
otros que no se actualizan desde hace
tiempo.
!
Wish-list: “Highlight packages in the index
that are regularly updated"
https://make.wordpress.org/cli/handbook/wish-list/
#package-index
Chequear la salud de WP
Diagnostica tu WP con un simple
chequeo:
!
wp doctor
!
wp package install wp-cli/doctor-command
!
https://make.wordpress.org/cli/2017/02/08/two-
new-commands-doctor-and-profile/
Chequear la salud de WP (2)
wp doctor
!
$ wp @daniel doctor check --all
Running checks 100%
[===========================================================] 0:02 / 0:09
+----------------------------+---------+--------------------------------------------------------------------+
| name | status | message |
+----------------------------+---------+--------------------------------------------------------------------+
| core-verify-checksums | success | WordPress verifies against its checksums. |
| file-eval | success | All 'php' files passed check for 'eval(.*base64_decode(.*'. |
| autoload-options-size | success | Autoloaded options size (16.25kb) is less than threshold (900kb). |
| constant-savequeries-falsy | success | Constant 'SAVEQUERIES' is undefined. |
| constant-wp-debug-falsy | success | Constant 'WP_DEBUG' is defined falsy. |
| core-update | success | WordPress is at the latest version. |
| cron-count | success | Total number of cron jobs is within normal operating expectations. |
| cron-duplicates | success | All cron job counts are within normal operating expectations. |
| option-blog-public | success | Site is public as expected. |
| plugin-active-count | success | Number of active plugins (2) is less than threshold (80). |
| plugin-deactivated | success | Less than 40 percent of plugins are deactivated. |
| plugin-update | success | Plugins are up to date. |
| theme-update | warning | 1 theme has an update available. |
+----------------------------+---------+--------------------------------------------------------------------+
Conocer la velocidad de WP
Identifica donde está la tortuga en
WP:
!
wp profile
!
wp package install wp-cli/profile-command
!
https://make.wordpress.org/cli/2017/02/08/two-
new-commands-doctor-and-profile/
Conocer la velocidad de WP (2)
wp profile stage --fields=stage,time,cache_ratio
!
+------------+---------+-------------+
| stage | time | cache_ratio |
+------------+---------+-------------+
| bootstrap | 0.7994s | 93.21% |
| main_query | 0.0123s | 94.29% |
| template | 0.792s | 91.23% |
+------------+---------+-------------+
| total (3) | 1.6037s | 92.91% |
+------------+---------+-------------+
Conocer la velocidad de WP (3)
wp profile stage bootstrap --
fields=hook,time,cache_ratio —spotlight
!
+--------------------------+---------+-------------+
| hook | time | cache_ratio |
+--------------------------+---------+-------------+
| muplugins_loaded:before | 0.2423s | 25% |
| muplugins_loaded | 0.0005s | 50% |
| plugins_loaded:before | 0.03s | 47.62% |
| plugins_loaded | 0.0072s | 60% |
| after_setup_theme:before | 0.0201s | 100% |
| init | 0.0223s | 100% |
| wp_loaded:after | 0.0428s | |
+--------------------------+---------+-------------+
| total (7) | 0.3652s | 63.77% |
+--------------------------+---------+-------------+
Hacer sync de prod
# sync-prod.sh
read -r -p "Do you solemnly swear that you have had fewer than 2
alcoholic beverages in the last hour and that you would really like
to reset your development database and pull the latest from
production? [y/N] " response
!
if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then
wp @development db reset --yes &&
wp @production db export - > sql-dump-production.sql &&
wp @development db import sql-dump-production.sql &&
wp @development search-replace https://example.com https://
example.dev
fi
!
https://roots.io/leveraging-wp-cli-aliases-in-your-wordpress-
development-workflow/
Autom. una nueva instalación
Mega script para instalar un
WordPress desde cero con tus
plugins y tema favorito.
!
http://bit.ly/wpcli-new-wp
!
!
Thanks to: https://indigotree.co.uk/automated-
wordpress-installation-with-bash-wp-cli/
Crea superpoderes: extensión
Más fácil de lo que parece:
!
WP_CLI::add_command( 'example','Example_Command'
);
!
Dominar con tu extensión (2)
/*
Plugin Name: Example WP-CLI
Version: 1.0
Description: Demo for WP-CLI Tutorial
Author: Tim Nash
Author URI: https://timnash.co.uk
*/
!
if( defined( 'WP_CLI' ) && WP_CLI ) {
WP_CLI::add_command( 'example', 'Example_Command' );
}
!
class Example_Command extends WP_CLI_Command{
/**
*
* @subcommand get-option
* @alias option
*
**/
function get_option( $args, $assoc_args ) {
$default = 'example.com';
if( $assoc_args[ 'default' ] ){
$default = $assoc_args[ 'default' ];
}
$return = get_option( $args[0], $default );
WP_CLI::success( $return );
}
}
GRACIAS
Sergio Nieto García
!
@snieto
http://snieto.com
http://about.me/sergionieto
!
WordPress Valencia Meetup
#

More Related Content

What's hot

deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Ricard Luquero
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressIrontec
 
Mi plan de marketing online: Cómo crear tu propio Wordpress gratis
Mi plan de marketing online: Cómo crear tu propio Wordpress  gratisMi plan de marketing online: Cómo crear tu propio Wordpress  gratis
Mi plan de marketing online: Cómo crear tu propio Wordpress gratisAlejandro Tomás Martínez
 
Mike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLIMike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLImvkoen
 
Montar un servidor web win7
Montar un servidor web win7Montar un servidor web win7
Montar un servidor web win7New York
 
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...Instalación Wordpress y woocommerce con xampp y migración de base de datos de...
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...Laura Colorado
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaPablo Aragón
 
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 César Pajares
 

What's hot (10)

deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
 
Mi plan de marketing online: Cómo crear tu propio Wordpress gratis
Mi plan de marketing online: Cómo crear tu propio Wordpress  gratisMi plan de marketing online: Cómo crear tu propio Wordpress  gratis
Mi plan de marketing online: Cómo crear tu propio Wordpress gratis
 
Manual php nuke
Manual php nukeManual php nuke
Manual php nuke
 
Mike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLIMike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLI
 
Montar un servidor web win7
Montar un servidor web win7Montar un servidor web win7
Montar un servidor web win7
 
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...Instalación Wordpress y woocommerce con xampp y migración de base de datos de...
Instalación Wordpress y woocommerce con xampp y migración de base de datos de...
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consola
 
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
 

Viewers also liked

10up WordPress Engineering Best Practices
10up WordPress Engineering Best Practices10up WordPress Engineering Best Practices
10up WordPress Engineering Best PracticesLucy Tomas
 
WP-CLI: Dispara tu productividad, simplifica tus rutinas
WP-CLI: Dispara tu productividad, simplifica tus rutinasWP-CLI: Dispara tu productividad, simplifica tus rutinas
WP-CLI: Dispara tu productividad, simplifica tus rutinasPablo Poveda Ortega
 
A Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLIA Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLIRikesh Ramlochund
 
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016Thierry Debels
 
LFG Tax Reporting Guidelines
LFG Tax Reporting GuidelinesLFG Tax Reporting Guidelines
LFG Tax Reporting GuidelinesLauren Mills
 
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013Элина Кириленко
 
Internet seguro 2017
Internet seguro 2017Internet seguro 2017
Internet seguro 2017paulina
 
La seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la ZLa seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la Zwpbarcelona
 
PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...Leonardo Losoviz
 
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...Heart Healthy Hoods
 
Saca lo máximo de tu blog en WordPress
Saca lo máximo de tu blog en WordPressSaca lo máximo de tu blog en WordPress
Saca lo máximo de tu blog en WordPressAdrià López Molina
 
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 201710 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017Juan Seguí Moreno
 
WordCamp Alicante 2017 - De HTML a WordPress
WordCamp Alicante 2017 - De HTML a WordPressWordCamp Alicante 2017 - De HTML a WordPress
WordCamp Alicante 2017 - De HTML a WordPressDarío BF
 
Optimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPOptimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPFernando Serer
 

Viewers also liked (18)

10up WordPress Engineering Best Practices
10up WordPress Engineering Best Practices10up WordPress Engineering Best Practices
10up WordPress Engineering Best Practices
 
PHP-VCR Lightningtalk
PHP-VCR LightningtalkPHP-VCR Lightningtalk
PHP-VCR Lightningtalk
 
WP-CLI: Dispara tu productividad, simplifica tus rutinas
WP-CLI: Dispara tu productividad, simplifica tus rutinasWP-CLI: Dispara tu productividad, simplifica tus rutinas
WP-CLI: Dispara tu productividad, simplifica tus rutinas
 
PHP-VCR behat case study
PHP-VCR behat case studyPHP-VCR behat case study
PHP-VCR behat case study
 
A Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLIA Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLI
 
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016
Brusselse moslims: vergoeding wegens mislukt Offerfeest 2016
 
LFG Tax Reporting Guidelines
LFG Tax Reporting GuidelinesLFG Tax Reporting Guidelines
LFG Tax Reporting Guidelines
 
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013
Интеграция перевода PROMT в корпоративный портал MS SharePoint 2013
 
Internet seguro 2017
Internet seguro 2017Internet seguro 2017
Internet seguro 2017
 
La seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la ZLa seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la Z
 
Documento (2)
Documento (2)Documento (2)
Documento (2)
 
PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...
 
Despertar en Consciencia
Despertar en ConscienciaDespertar en Consciencia
Despertar en Consciencia
 
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...
'Demography Today' Leisure series on 6th March 2017: Urban environmente and c...
 
Saca lo máximo de tu blog en WordPress
Saca lo máximo de tu blog en WordPressSaca lo máximo de tu blog en WordPress
Saca lo máximo de tu blog en WordPress
 
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 201710 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
 
WordCamp Alicante 2017 - De HTML a WordPress
WordCamp Alicante 2017 - De HTML a WordPressWordCamp Alicante 2017 - De HTML a WordPress
WordCamp Alicante 2017 - De HTML a WordPress
 
Optimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPOptimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMP
 

Similar to WP-CLI: La navaja suiza de WordPress que te hará un superhéroe

La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...Asociación Webmasters Cantabria
 
Ataque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPAtaque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPQuantiKa14
 
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...Darío BF
 
Gestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIGestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIOscar Abad Folgueira
 
Guia word press
Guia word pressGuia word press
Guia word pressivan1587
 
vAplicación parte 1
vAplicación parte 1vAplicación parte 1
vAplicación parte 1yanburbano
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Dani Reguera Bakhache
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
Web 2.0 y redes sociales virtuales - Sindicación Web
Web 2.0 y redes sociales virtuales - Sindicación WebWeb 2.0 y redes sociales virtuales - Sindicación Web
Web 2.0 y redes sociales virtuales - Sindicación WebPablo Garaizar
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Josefina Moratalla
 
Creación de un sitio web en wordpress
Creación de un sitio web en wordpressCreación de un sitio web en wordpress
Creación de un sitio web en wordpressMilton González
 
Configurando transactional replication para reporteo de forma segura - Kennet...
Configurando transactional replication para reporteo de forma segura - Kennet...Configurando transactional replication para reporteo de forma segura - Kennet...
Configurando transactional replication para reporteo de forma segura - Kennet...SpanishPASSVC
 
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdfAnaMorales765627
 
Wordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaWordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaDarío BF
 
Cómo Migrar Tu Web a WordPress
Cómo Migrar Tu Web a WordPressCómo Migrar Tu Web a WordPress
Cómo Migrar Tu Web a WordPressNelio Software
 

Similar to WP-CLI: La navaja suiza de WordPress que te hará un superhéroe (20)

La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
 
wp-cli
wp-cliwp-cli
wp-cli
 
Ataque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPAtaque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWP
 
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
 
Gestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIGestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLI
 
Guia word press
Guia word pressGuia word press
Guia word press
 
vAplicación parte 1
vAplicación parte 1vAplicación parte 1
vAplicación parte 1
 
cw15 conoce wordpress
cw15 conoce wordpresscw15 conoce wordpress
cw15 conoce wordpress
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Web 2.0 y redes sociales virtuales - Sindicación Web
Web 2.0 y redes sociales virtuales - Sindicación WebWeb 2.0 y redes sociales virtuales - Sindicación Web
Web 2.0 y redes sociales virtuales - Sindicación Web
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02
 
Creación de un sitio web en wordpress
Creación de un sitio web en wordpressCreación de un sitio web en wordpress
Creación de un sitio web en wordpress
 
Configurando transactional replication para reporteo de forma segura - Kennet...
Configurando transactional replication para reporteo de forma segura - Kennet...Configurando transactional replication para reporteo de forma segura - Kennet...
Configurando transactional replication para reporteo de forma segura - Kennet...
 
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf
249380217-Taller-de-Instalacion-e-Integracion-de-OcsInventory-y-GLPI.pdf
 
Wordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaWordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp Barcelona
 
Cómo Migrar Tu Web a WordPress
Cómo Migrar Tu Web a WordPressCómo Migrar Tu Web a WordPress
Cómo Migrar Tu Web a WordPress
 
Manual php nuke
Manual php nukeManual php nuke
Manual php nuke
 
Manual php nuke
Manual php nukeManual php nuke
Manual php nuke
 

More from Sergio Nieto

Hotel En Helicoptero
Hotel En HelicopteroHotel En Helicoptero
Hotel En HelicopteroSergio Nieto
 
Los Pajaros Pegan Duro
Los Pajaros Pegan DuroLos Pajaros Pegan Duro
Los Pajaros Pegan DuroSergio Nieto
 
Fotofrafias Aeronauticas F18
Fotofrafias Aeronauticas F18Fotofrafias Aeronauticas F18
Fotofrafias Aeronauticas F18Sergio Nieto
 
Awesome Aviation Pictures (A Psz)
Awesome Aviation Pictures (A Psz)Awesome Aviation Pictures (A Psz)
Awesome Aviation Pictures (A Psz)Sergio Nieto
 
Aviators Heaven Alive
Aviators Heaven AliveAviators Heaven Alive
Aviators Heaven AliveSergio Nieto
 
Aeropuertos Con Encanto
Aeropuertos Con EncantoAeropuertos Con Encanto
Aeropuertos Con EncantoSergio Nieto
 

More from Sergio Nieto (11)

Hotel En Helicoptero
Hotel En HelicopteroHotel En Helicoptero
Hotel En Helicoptero
 
Usaf Museum
Usaf MuseumUsaf Museum
Usaf Museum
 
Los Pajaros Pegan Duro
Los Pajaros Pegan DuroLos Pajaros Pegan Duro
Los Pajaros Pegan Duro
 
Fotofrafias Aeronauticas F18
Fotofrafias Aeronauticas F18Fotofrafias Aeronauticas F18
Fotofrafias Aeronauticas F18
 
Cockpits
CockpitsCockpits
Cockpits
 
Awesome Aviation Pictures (A Psz)
Awesome Aviation Pictures (A Psz)Awesome Aviation Pictures (A Psz)
Awesome Aviation Pictures (A Psz)
 
Aviones Rusos
Aviones RusosAviones Rusos
Aviones Rusos
 
Aviators Heaven Alive
Aviators Heaven AliveAviators Heaven Alive
Aviators Heaven Alive
 
Aeropuertos Con Encanto
Aeropuertos Con EncantoAeropuertos Con Encanto
Aeropuertos Con Encanto
 
Antonov 225
Antonov 225Antonov 225
Antonov 225
 
A380 Emirates
A380 EmiratesA380 Emirates
A380 Emirates
 

Recently uploaded

GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxUniversidad de Bielefeld
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMalejandroortizm
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIAobandopaula444
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 

Recently uploaded (17)

GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptx
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 

WP-CLI: La navaja suiza de WordPress que te hará un superhéroe

  • 1. WP-CLI La navaja suiza de WordPress que te hará un superhéroe
  • 4. Soy Sergio Nieto Developer freelance de WordPress Coorganizador de #wpvalencia Meetup Hablo poco, pero lo hago como @snieto
  • 5. Qué voy a contar · Qué es WP-CLI · Cómo instalarlo · Qué superpoderes tiene · Comandos para ser un superhéroe · Cómo salvar el mundo
  • 6. Qué es WP-CLI WP-CLI es un conjunto de herramientas de línea de comandos que nos permiten gestionar instalaciones de WordPress. ! Y todo ello sin usar un navegador. ! Major contributor: Daniel Bachhuber 1
  • 7. ¿Y qué tiene eso de especial? Me ahorra tiempo. Me facilita la gestión de WP. Me soluciona problemas. Me permite automatizar. Me deja extenderlo. ! Me da superpoderes. Me hace más ‘cool’.
  • 8. ¿Cómo funciona? WP-CLI es una librería de comandos que expone las funciones internas de WordPress. ! Ahora podemos acceder a funciones, a recursos, a la base de datos, y a todo lo que tenga una instalación de WordPress estándar.
  • 9. Odio la línea de comandos No eres el único. Pero desde WordPress.org tratan de hacer este ‘entorno’ más amigable con esta pequeña guía: ! https://make.wordpress.org/cli/ handbook/shell-friends/ ! (A mí me gusta)
  • 10. Tiene soporte oficial En diciembre de 2016 Matt Mullenweg anuncia que WordPress.org apoya oficialmente el proyecto. ! “one of the highest impact developments for WP in many years.” ! https://wptavern.com/wp-cli-gets-official- wordpress-org-support
  • 11. Las webs de WP-CLI http://wp-cli.org/ ! https://make.wordpress.org/cli/ https://make.wordpress.org/cli/ handbook/tools/
  • 12. Créditos · Daniel Bachhuber - current maintainer ! · Cristi Burcă - previous maintainer ! · Andreas Creten - founder ! https://github.com/wp-cli/wp-cli/ graphs/contributors
  • 13. ¿Cómo instalarlo? La opción sencilla: ! Descargar el fichero wp-cli.phar. Darle permisos y una nueva casa. ! curl -O https://raw.githubusercontent.com/wp-cli/builds/gh- pages/phar/wp-cli.phar! ! chmod +x wp-cli.phar! ! sudo mv wp-cli.phar /usr/local/bin/wp 2
  • 14. Instalación (2) La opción ‘PRO’: ! Incluirlo en tu proyecto con composer. ! ! "wp-cli/wp-cli": "@stable"! !
  • 15. Instalación (3) Ahora ya podemos usarlo: ! wp <comando> wp cli (para gestionarlo a él mismo) ! Por ejemplo: ! ! wp cli version! > WP-CLI 1.1.0
  • 16. Qué superpoderes tiene Las opciones que nos da WP-CLI son muchísimas. ! Estas son algunas de ellas: ! - Instalar WP - Actualizar WP 3
  • 17. Superpoderes (2) - Instalar plugins - Actualizar plugins - Activar/desactivar plugins ! - Instalar temas - Actualizar temas - Activar/desactivar temas !
  • 18. Superpoderes (3) - Escribir posts y páginas - Borrar posts y páginas - Cambiar el estado de posts y páginas ! - Listar y obtener información de tipos de post (CPT) !
  • 19. Superpoderes (4) Abreviemos… - Gestionar comentarios - Gestionar cron - Importar/exportar base de datos - Ejecutar consultas - Crear, Optimizar, reparar, borrar - Regenerar thumbnails - Y mucho más
  • 21. Cómo convertirme en superhéroe Veamos algunos ejemplos en los que WP-CLI nos va a ayuda a convertirnos en alguien muy especial. ! Vamos a convertirnos en un verdadero superhéroe. 4
  • 22. Empecemos poco a poco Formulario web para ayudar a crear los comandos para instalar WordPress con WP-CLI. ! https://wpcligui.com/ ! !
  • 23. Superhéroe de plugins Instalar y activar plugins: wp plugin install woocommerce —activate! ! Activar plugins: wp plugin activate woo commerce! ! Desactivar plugins: wp plugin deactivate woocommerce! ! Listar plugins: wp plugin list
  • 24. Superhéroe del post Listar post: wp post list --post_type=page —fields=post_title,post_status! ! !
  • 25. Superhéroe del post (2) Listar post: wp post list --post_type=page —fields=post_title,post_status! ! ! ¿No te impresiona? Borrar post por defecto de WordPres: ! wp post delete $(wp post list --post_type=page -- posts_per_page=1 --post_status=publish -- pagename="sample-page" --field=ID --format=ids)
  • 26. Superhéroe del post (3) usage: wp post create [<file>] [--<field>=<value>] [--edit] [-- porcelain] or: wp post delete <id>... [--force] [--defer-term-counting] or: wp post edit <id> or: wp post generate [--count=<number>] [-- post_type=<type>] [--post_status=<status>] [-- post_author=<login>] [--post_date=<yyyy-mm-dd>] [-- post_content] [--max_depth=<number>] [--format=<format>] or: wp post get <id> [--field=<field>] [--fields=<fields>] [-- format=<format>] or: wp post list [--<field>=<value>] [--field=<field>] [-- fields=<fields>] [--format=<format>] or: wp post meta <command> or: wp post term <command> or: wp post update <id>... [<file>] --<field>=<value> [--defer- term-counting]
  • 27. Superhéroe del post (4) Crea posts programados: wp post create --post_type=page --post_title='A future post' -- post_status=future --post_date='2020-12-01 07:00:00'! ! ! Crea posts a partir de un fichero: wp post create ./post-content.txt --post_category=201,345 -- post_title='Post from file’! ! Parámetro que devuelve solo el ID: --porcelain
  • 28. Superhéroe de la eficiencia Genera cientos de posts (para probar paginación, velocidad, etc): ! wp post generate --count=100 --post_type=page — post_date=2002-02-02! ! Generalos a partir de contenido: ! curl http://loripsum.net/api/5 | wp post generate -- post_content --count=10
  • 29. Superhéroe del thumbnail Regenerar thumbnails: wp media regenerate —yes! ! ! Importar una imagen local y añadirla como imagen destacara de un post: ! wp media import ~/Downloads/image.png --post_id=123 -- title="A downloaded picture" --featured_image
  • 30. Superhéroe políglota Lista los paquetes de idiomas instalados: wp core language —list —fields=language! ! Instala diferentes ficheros de idiomas: wp core language install es_ES —activate! !
  • 31. Superhéroe del reemplazo Reemplazar cadenas en base de datos (histórico dolor de cabeza de WP para el caso de la url) ! wp search-replace “http://domain.dev” “http://domain.com” —skip-columns=guid! ! Para cobardes (cautos, mejor dicho): ! wp search-replace “http://domain.dev” “http://domain.com” —skip-columns=guid —dry-run
  • 33. Cómo salvar el mundo · Coleccionando ‘recetas’ de comandos WP-CLI para las épocas de tempestad. ! · Automatizando tareas para minimizar fallos. ! · Extendiendo WP-CLI con tus comandos 5
  • 34. Activar el autocompletado Existe un script para usar con Bash y ZSH que activa el autcompletado de comandos: ! ~/.bash_profile source /FULL/PATH/TO/wp-completion.bash ! source ~/.bash_profile ! https://raw.githubusercontent.com/wp-cli/wp-cli/ master/utils/wp-completion.bash
  • 35. El fichero config https://make.wordpress.org/cli/handbook/config/#config-files ! # Global parameter defaults path: wp-core url: http://example.com user: admin color: false disabled_commands: - db drop - plugin install require: - path-to/command.php ! # Subcommand defaults (e.g. `wp core config`) core config: dbuser: root dbpass: extra-php: | define( 'WP_DEBUG', true ); define( 'WP_POST_REVISIONS', 50 );
  • 36. Dominar los alias Fichero de configuración ~/.wp-cli/ config.yml ! @staging: ssh: wpcli@staging.wp-cli.org user: wpcli path: /srv/www/staging.wp-cli.org @production: ssh: wpcli@wp-cli.org:2222 user: wpcli path: /srv/www/wp-cli.org —-—-—-—- ! wp @production db export > sql-dump-production.sql
  • 37. Dominar los paquetes http://wp-cli.org/package-index/ ! Hay algunos incorporados ya a WP-CLI y otros que no se actualizan desde hace tiempo. ! Wish-list: “Highlight packages in the index that are regularly updated" https://make.wordpress.org/cli/handbook/wish-list/ #package-index
  • 38. Chequear la salud de WP Diagnostica tu WP con un simple chequeo: ! wp doctor ! wp package install wp-cli/doctor-command ! https://make.wordpress.org/cli/2017/02/08/two- new-commands-doctor-and-profile/
  • 39. Chequear la salud de WP (2) wp doctor ! $ wp @daniel doctor check --all Running checks 100% [===========================================================] 0:02 / 0:09 +----------------------------+---------+--------------------------------------------------------------------+ | name | status | message | +----------------------------+---------+--------------------------------------------------------------------+ | core-verify-checksums | success | WordPress verifies against its checksums. | | file-eval | success | All 'php' files passed check for 'eval(.*base64_decode(.*'. | | autoload-options-size | success | Autoloaded options size (16.25kb) is less than threshold (900kb). | | constant-savequeries-falsy | success | Constant 'SAVEQUERIES' is undefined. | | constant-wp-debug-falsy | success | Constant 'WP_DEBUG' is defined falsy. | | core-update | success | WordPress is at the latest version. | | cron-count | success | Total number of cron jobs is within normal operating expectations. | | cron-duplicates | success | All cron job counts are within normal operating expectations. | | option-blog-public | success | Site is public as expected. | | plugin-active-count | success | Number of active plugins (2) is less than threshold (80). | | plugin-deactivated | success | Less than 40 percent of plugins are deactivated. | | plugin-update | success | Plugins are up to date. | | theme-update | warning | 1 theme has an update available. | +----------------------------+---------+--------------------------------------------------------------------+
  • 40. Conocer la velocidad de WP Identifica donde está la tortuga en WP: ! wp profile ! wp package install wp-cli/profile-command ! https://make.wordpress.org/cli/2017/02/08/two- new-commands-doctor-and-profile/
  • 41. Conocer la velocidad de WP (2) wp profile stage --fields=stage,time,cache_ratio ! +------------+---------+-------------+ | stage | time | cache_ratio | +------------+---------+-------------+ | bootstrap | 0.7994s | 93.21% | | main_query | 0.0123s | 94.29% | | template | 0.792s | 91.23% | +------------+---------+-------------+ | total (3) | 1.6037s | 92.91% | +------------+---------+-------------+
  • 42. Conocer la velocidad de WP (3) wp profile stage bootstrap -- fields=hook,time,cache_ratio —spotlight ! +--------------------------+---------+-------------+ | hook | time | cache_ratio | +--------------------------+---------+-------------+ | muplugins_loaded:before | 0.2423s | 25% | | muplugins_loaded | 0.0005s | 50% | | plugins_loaded:before | 0.03s | 47.62% | | plugins_loaded | 0.0072s | 60% | | after_setup_theme:before | 0.0201s | 100% | | init | 0.0223s | 100% | | wp_loaded:after | 0.0428s | | +--------------------------+---------+-------------+ | total (7) | 0.3652s | 63.77% | +--------------------------+---------+-------------+
  • 43. Hacer sync de prod # sync-prod.sh read -r -p "Do you solemnly swear that you have had fewer than 2 alcoholic beverages in the last hour and that you would really like to reset your development database and pull the latest from production? [y/N] " response ! if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then wp @development db reset --yes && wp @production db export - > sql-dump-production.sql && wp @development db import sql-dump-production.sql && wp @development search-replace https://example.com https:// example.dev fi ! https://roots.io/leveraging-wp-cli-aliases-in-your-wordpress- development-workflow/
  • 44. Autom. una nueva instalación Mega script para instalar un WordPress desde cero con tus plugins y tema favorito. ! http://bit.ly/wpcli-new-wp ! ! Thanks to: https://indigotree.co.uk/automated- wordpress-installation-with-bash-wp-cli/
  • 45. Crea superpoderes: extensión Más fácil de lo que parece: ! WP_CLI::add_command( 'example','Example_Command' ); !
  • 46. Dominar con tu extensión (2) /* Plugin Name: Example WP-CLI Version: 1.0 Description: Demo for WP-CLI Tutorial Author: Tim Nash Author URI: https://timnash.co.uk */ ! if( defined( 'WP_CLI' ) && WP_CLI ) { WP_CLI::add_command( 'example', 'Example_Command' ); } ! class Example_Command extends WP_CLI_Command{ /** * * @subcommand get-option * @alias option * **/ function get_option( $args, $assoc_args ) { $default = 'example.com'; if( $assoc_args[ 'default' ] ){ $default = $assoc_args[ 'default' ]; } $return = get_option( $args[0], $default ); WP_CLI::success( $return ); } }