SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
¿Quien soy?
@vainas
http://vainas.es
Hiberus Internet S.L.
Devops
¿De que vamos a hablar hoy?
● Linea de comandos
● ¿Como se ejecuta un comando?
– nombre_del_comando parametro --clave=valor
● Ejemplos: ls, tail, curl… (en windows: dir...)
● Cada comando tiene un “manual”
¿Que es WordPress cli?
● Es un comando ;)
● Permite a los usuarios gestionar WP
● Ejecutar “muchas” de las tareas que se hacen
desde la web.
¿Que podemos hacer desde wp-cli?
● Segun internet: instalar plugins, activarlos y
desactivarlos
● Instalar WordPress
● Publicar post, editar, crear
● Copias de la bbdd
● Documentación de wp-cli: http://wp-
cli.org/commands
¿Quien da soporte a wp-cli?
● Empresas que dan soporte a wp-cli (99%
americanas):
– 1&1
– GoDaddy
– HostGator
– ...
https://make.wordpress.org/cli/handbook/hosting-companies/
Instalando wp-cli
● Opciones:
– wp-cli.phar (es un zip de php)
https://raw.github.com/wp-cli/builds/gh-
pages/phar/wp-cli.phar
– Ejecutamos el .phar sobre php (ejecutamos un
comando sobre otro comando)
Instalando wp-cli
● Descargamos wp-cli.phar (vamos a perderle el
miedo a la linea de comandos):
– curl -O https://raw.github.com/wp-cli...
● ¿Por que digo que es un comando sobre otro
comando?
– php wp-cli.phar --info
Instalando wp-cli II
Usuarios avanzados de Linux:
● Descargamos el archivo wp-cli.phar
● Cambiamos permisos y movemos a bin para
que se pueda ejecutar globalmente
– chmod +x wp-cli.phar
– sudo mv wp-cli.phar /usr/local/bin/wp
– wp --info
Instalando wp-cli III
Para los usuarios de Windows:
● Requisitos:
– Hay que tener instalado el interprete de php
● Descargamos el archivo desde un navegador
● Ejecutamos
– php wp-cli.phar
Instalando wp-cli IV
Como proyecto composer:
● Descargando el proyecto:
– composer create-project wp-cli/wp-cli –prefer-
source
● Ejecutables:
– wp-cli/bin/wp.bat
– wp-cli/bin/wp
Comandos básicos
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]
Comandos básicos
● Descargar wp
– wp core download o php wp-cli.phar core download
– Parametros: --version
● Crear un wp-config.php
– wp core config --dbname={YOUR DATABASE
NAME} --dbuser={YOUR DATABASE USERNAME}
--dbpass={YOUR DATABASE PASSWORD}
Comandos básicos
● Crear una BBDD (antes crear el wp-config.php):
– wp db create
● Instalar WP:
– wp core install --url={YOUR DOMAIN NAME}
--title={THE TITLE OF YOUR SITE}
--admin_user={YOUR USER NAME}
--admin_password={YOUR PASSWORD}
--admin_email={YOUR EMAIL}
Comandos básicos
● Cambiar el languaje:
– wp core language install es_ES –activate
● Listar post:
– wp post list --post_type=post --format=json –fields
http://wp-cli.org/commands/post/list/
● Editar un post:
– wp post edit <id>
(Editar solo el contenido).
Comandos básicos
● Reemplazar información en la BBDD:
– wp search-replace 'http://a.com' 'http://a.dev'
wp_options –dry-run (solo probar el comando)
Pero todo esto se puede hacer por
interfaz gráfica!!
Comandos básicos
● Generar contenido dinamico:
– wp post generate –count=100 –post_type=page –
post_date=2017-03-21
● O con contenido:
– curl http://loripsum.net/api/5 | wp post generate –
post_content --count=10
Parametros
● Parametros:
– de posición
– clave=valor
Ejemplo: http://wp-cli.org/commands/search-replace/
● Modificacion de la salida del comando:
– wp post list --post_type='page' –format=ids
– wp post delete $(wp post list --post_type='page' –
format=ids)
Automatizando tareas
● Crear un archivo bat o sh:
#!/bin/bash
echo "instalando nuestro wp"
wp core download –parametro=...
wp core config –parametro=...
wp core install –parametro=...
Paquetes
● Son los plugins de WP
● Con el tiempo son incorporados al core de wp-cli
● Otros están bastante desactualizados
– Listado principal (paquetes de wp-cli):
http://wp-cli.org/package-index/
– Otro (integran wp-cli):
https://make.wordpress.org/cli/handbook/tools/
Paquetes
● Otros: son paquetes de wp-cli o pueden venir en
forma de plugin de wp
Ejemplo:
https://github.com/hoppinger/advanced-custom-field
s-wpcli
– wp plugin activate advanced-custom-fields-
wp-cli
– wp acf
Paquetes
● Instalar un paquete:
– wp package install wp-cli/doctor-command
● Ejecutar:
– wp doctor
(Recordar que todo comando tiene su
“manual”)
¿Desde donde controlamos nuestro
WP?
● Local
● ssh
– wp post list --ssh=root@10.0.0.1 --path=/var/www
(Antes era un paquete y ahora esta en el core de
wp-cli: https://github.com/xwp/wp-cli-ssh)
● Http (hay que instalar un paquete)
– wp post list --http='http://mi_empresa.es'
¿Y tengo introducir los parámetros
cada vez que uso un comando?
Archivos de configuración
● Se define un archivo wp-cli.yml
# Global parameter defaults
path: /var/www
debug: true
https://make.wordpress.org/cli/handbook/config/
Alias
@local:
user: vainas
path: /var/www/mi_web/
@pro:
ssh: root@wp-cli.org:2222
user: vainas
path: /srv/www/mi_web/
● Y luego ejecutamos
– wp @pro post list
wp-cli por Http
● RESTfull en 30seg
– Url amigable:
http://api.example.com/verduras
http://api.example.com/verdura/boniato
http://api.example.com/post
http://api.example.com/post/1
wp-cli por Http
● json
Es mainstream
● Ejemplo: ['post':{'title':'Mi primer post!', 'date':
'2017-03-22', 'clave': 'valor}]
● Documentación: http://www.json.org/json-es.html
● ¿Que tiene que ver con controlar WP por Http?
RESTfull wp-cli
● Es un paquete para conectar wp-cli con un servidor remoto
por Http.
● Instalamos el paquete:
– wp package install wp-cli/restful
● Instalamos el plugin en nuestro WP (incluido desde la
versión 4.7)
● Leemos la documentación: https://github.com/wp-cli/restful
● Ejecutamos:
– wp rest post list | edit | create | delete | get | update
Crear tus propios paquetes:
● Instala un generador de paquetes:
– wp package install wp-cli/scaffold-package-
command
● Ejecuta:
– wp scaffold package-demo /ruta
● Crea tu nuevo comando:
<?php
● /**
● * Implements example command.
●
*/
● class Example_Command extends WP_CLI_Command {
●
● function hello( $args, $assoc_args ) {
● list( $name ) = $args;
●
● // Print the message with type
● $type = $assoc_args['type'];
● WP_CLI::$type( "Hello, $name!" );
● }
● }
●
● WP_CLI::add_command( 'comando', 'Example_Command' );
Crear tus propios paquetes:
● Recomendaciones:
– Usa la api de wp-cli antes que la de WP.
http://wp-cli.org/docs/internal-api/
– Sigue sus estandares:
https://make.wordpress.org/cli/handbook/document
ation-standards/
Wrappers de wp-cli
● Node
● Gema de Ruby
● Implementacion para servidores
● Puppet para ser instalado en vagrant
● Para usar con chef
● https://make.wordpress.org/cli/handbook/tools/#wra
ppers
Recursos
● wp-cli.org
● Script para instalar WP:
https://gist.github.com/snieto/e53853eb62adeab
fdb754f459cf413dd
● http://www.wpvalencia.org/wp-cli-la-navaja-
suiza-de-wordpress/
wp-cli

Más contenido relacionado

La actualidad más candente

Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbaoDesarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbaoDarío BF
 
Tema 1 Introduccion e instalacion Drupal
Tema 1  Introduccion e instalacion DrupalTema 1  Introduccion e instalacion Drupal
Tema 1 Introduccion e instalacion DrupalMeztli Valeriano Orozco
 
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
 
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
 
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
 
Acceso a base de datos con php
Acceso a base de datos con phpAcceso a base de datos con php
Acceso a base de datos con phpjaumeven
 
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
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Ángel Acaymo M. G.
 
Ataque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPAtaque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPQuantiKa14
 
Convierte tu WordPress en una app con React Native
Convierte tu WordPress en una app con React NativeConvierte tu WordPress en una app con React Native
Convierte tu WordPress en una app con React NativeJoan Artés
 
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)MizaelMartinez2
 
Configuración y aplicación de php
Configuración y aplicación de phpConfiguración y aplicación de php
Configuración y aplicación de phpBelenRosales12
 

La actualidad más candente (20)

Los mejores plugins para Wordpress
Los mejores plugins para WordpressLos mejores plugins para Wordpress
Los mejores plugins para Wordpress
 
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbaoDesarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
 
Cherokee presentacion
Cherokee presentacionCherokee presentacion
Cherokee presentacion
 
Tema 1 Introduccion e instalacion Drupal
Tema 1  Introduccion e instalacion DrupalTema 1  Introduccion e instalacion Drupal
Tema 1 Introduccion e instalacion Drupal
 
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
 
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
 
Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
 
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
 
Semana 3 MONGODB conceptos básicos NOSQL
Semana 3   MONGODB conceptos básicos NOSQLSemana 3   MONGODB conceptos básicos NOSQL
Semana 3 MONGODB conceptos básicos NOSQL
 
Acceso a base de datos con php
Acceso a base de datos con phpAcceso a base de datos con php
Acceso a base de datos con php
 
Webperf wordpress
Webperf wordpressWebperf wordpress
Webperf wordpress
 
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...
 
Generalidades php
Generalidades phpGeneralidades php
Generalidades php
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
 
Tema 1 introduccion e instalacion
Tema 1   introduccion e instalacionTema 1   introduccion e instalacion
Tema 1 introduccion e instalacion
 
Ataque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWPAtaque masivo a WordPress con ILLOWP
Ataque masivo a WordPress con ILLOWP
 
Convierte tu WordPress en una app con React Native
Convierte tu WordPress en una app con React NativeConvierte tu WordPress en una app con React Native
Convierte tu WordPress en una app con React Native
 
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)
TALLER: Implementar BigBlueButton en Amazon Web Services (AWS)
 
Configuración y aplicación de php
Configuración y aplicación de phpConfiguración y aplicación de php
Configuración y aplicación de php
 

Destacado

PRESENTACIONES ON-LINE
PRESENTACIONES ON-LINEPRESENTACIONES ON-LINE
PRESENTACIONES ON-LINEsantipruebas
 
Plan pour la paix: Pour un renouveau des relations internationales
Plan pour la paix: Pour un renouveau des relations internationalesPlan pour la paix: Pour un renouveau des relations internationales
Plan pour la paix: Pour un renouveau des relations internationalesFlorian Brunner
 
Ringmakers of-saturn---norman-r.-bergrun
Ringmakers of-saturn---norman-r.-bergrunRingmakers of-saturn---norman-r.-bergrun
Ringmakers of-saturn---norman-r.-bergrunLex Pit
 
Plumber colorado springs co open rooter
Plumber colorado springs co   open rooterPlumber colorado springs co   open rooter
Plumber colorado springs co open rooterplumber80903
 
How to Develop a Social Media Presence in 30 Days or Less
How to Develop a Social Media Presence in 30 Days or LessHow to Develop a Social Media Presence in 30 Days or Less
How to Develop a Social Media Presence in 30 Days or LessGeorge Sloane
 
Lazette Harnish: America's Most-Visited Tourist Places
Lazette Harnish: America's Most-Visited Tourist PlacesLazette Harnish: America's Most-Visited Tourist Places
Lazette Harnish: America's Most-Visited Tourist PlacesLazette Harnish
 
Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin
Moodle is dead... 	Iain Bruce, James Blair, Michael O'LoughlinMoodle is dead... 	Iain Bruce, James Blair, Michael O'Loughlin
Moodle is dead... Iain Bruce, James Blair, Michael O'LoughlinIreland & UK Moodlemoot 2012
 
Oportunidades y desafíos del Acuerdo Comercial del Perú con la India
Oportunidades y desafíos del Acuerdo Comercial del Perú con la IndiaOportunidades y desafíos del Acuerdo Comercial del Perú con la India
Oportunidades y desafíos del Acuerdo Comercial del Perú con la India Carlos Alberto Aquino Rodriguez
 
Sintesis informativa 22 de marzo 2017
Sintesis informativa 22 de marzo 2017Sintesis informativa 22 de marzo 2017
Sintesis informativa 22 de marzo 2017megaradioexpress
 
Global impact of_wwii
Global impact of_wwiiGlobal impact of_wwii
Global impact of_wwiiMatt Scully
 
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...Openness in Education, Systems Thinking & Educational Practice Ed Media June ...
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...Anita Zijdemans Boudreau
 
Identify your pupose
Identify your puposeIdentify your pupose
Identify your puposeBev Hepting
 
Rural Supermarkets by Abhishek Bhatia
Rural Supermarkets by Abhishek BhatiaRural Supermarkets by Abhishek Bhatia
Rural Supermarkets by Abhishek BhatiaAbhishek Bhatia
 
Announcements- Thursday, March 23, 2017
Announcements- Thursday, March 23, 2017Announcements- Thursday, March 23, 2017
Announcements- Thursday, March 23, 2017Ken Stayner
 

Destacado (17)

PRESENTACIONES ON-LINE
PRESENTACIONES ON-LINEPRESENTACIONES ON-LINE
PRESENTACIONES ON-LINE
 
Plan pour la paix: Pour un renouveau des relations internationales
Plan pour la paix: Pour un renouveau des relations internationalesPlan pour la paix: Pour un renouveau des relations internationales
Plan pour la paix: Pour un renouveau des relations internationales
 
Ringmakers of-saturn---norman-r.-bergrun
Ringmakers of-saturn---norman-r.-bergrunRingmakers of-saturn---norman-r.-bergrun
Ringmakers of-saturn---norman-r.-bergrun
 
Plumber colorado springs co open rooter
Plumber colorado springs co   open rooterPlumber colorado springs co   open rooter
Plumber colorado springs co open rooter
 
Religion and Enviroment
Religion and EnviromentReligion and Enviroment
Religion and Enviroment
 
MagenTys Service Overview
MagenTys Service OverviewMagenTys Service Overview
MagenTys Service Overview
 
How to Develop a Social Media Presence in 30 Days or Less
How to Develop a Social Media Presence in 30 Days or LessHow to Develop a Social Media Presence in 30 Days or Less
How to Develop a Social Media Presence in 30 Days or Less
 
Goyescas
GoyescasGoyescas
Goyescas
 
Lazette Harnish: America's Most-Visited Tourist Places
Lazette Harnish: America's Most-Visited Tourist PlacesLazette Harnish: America's Most-Visited Tourist Places
Lazette Harnish: America's Most-Visited Tourist Places
 
Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin
Moodle is dead... 	Iain Bruce, James Blair, Michael O'LoughlinMoodle is dead... 	Iain Bruce, James Blair, Michael O'Loughlin
Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin
 
Oportunidades y desafíos del Acuerdo Comercial del Perú con la India
Oportunidades y desafíos del Acuerdo Comercial del Perú con la IndiaOportunidades y desafíos del Acuerdo Comercial del Perú con la India
Oportunidades y desafíos del Acuerdo Comercial del Perú con la India
 
Sintesis informativa 22 de marzo 2017
Sintesis informativa 22 de marzo 2017Sintesis informativa 22 de marzo 2017
Sintesis informativa 22 de marzo 2017
 
Global impact of_wwii
Global impact of_wwiiGlobal impact of_wwii
Global impact of_wwii
 
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...Openness in Education, Systems Thinking & Educational Practice Ed Media June ...
Openness in Education, Systems Thinking & Educational Practice Ed Media June ...
 
Identify your pupose
Identify your puposeIdentify your pupose
Identify your pupose
 
Rural Supermarkets by Abhishek Bhatia
Rural Supermarkets by Abhishek BhatiaRural Supermarkets by Abhishek Bhatia
Rural Supermarkets by Abhishek Bhatia
 
Announcements- Thursday, March 23, 2017
Announcements- Thursday, March 23, 2017Announcements- Thursday, March 23, 2017
Announcements- Thursday, March 23, 2017
 

Similar a wp-cli

Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Josefina Moratalla
 
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
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 
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
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/LinuxMartin Gregorio
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
Monta WordPress en tu empresa
Monta WordPress en tu empresaMonta WordPress en tu empresa
Monta WordPress en tu empresaIñaki Arenaza
 
WP-CLI: La navaja suiza de WordPress que te hará un superhéroe
WP-CLI: La navaja suiza de WordPress que te hará un superhéroeWP-CLI: La navaja suiza de WordPress que te hará un superhéroe
WP-CLI: La navaja suiza de WordPress que te hará un superhéroeSergio Nieto
 
20 claves de Seguridad WordPress
20 claves de Seguridad WordPress20 claves de Seguridad WordPress
20 claves de Seguridad WordPressFernando Tellado
 
Servidor web lamp
Servidor web lampServidor web lamp
Servidor web lampyaser6700
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoFernando Serer
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 
WordPress - Batalla Práctica | BatallaFriki.com
WordPress - Batalla Práctica | BatallaFriki.comWordPress - Batalla Práctica | BatallaFriki.com
WordPress - Batalla Práctica | BatallaFriki.comwpmalaga
 
1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSqlAland Laines Calonge
 
Wordpress: De un Blog a un CMS
Wordpress: De un Blog a un CMSWordpress: De un Blog a un CMS
Wordpress: De un Blog a un CMSJoselyn Anfossi
 
Receta red social
Receta red socialReceta red social
Receta red socialwalterose7
 

Similar a wp-cli (20)

Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02
 
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...
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
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
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Monta WordPress en tu empresa
Monta WordPress en tu empresaMonta WordPress en tu empresa
Monta WordPress en tu empresa
 
WP-CLI: La navaja suiza de WordPress que te hará un superhéroe
WP-CLI: La navaja suiza de WordPress que te hará un superhéroeWP-CLI: La navaja suiza de WordPress que te hará un superhéroe
WP-CLI: La navaja suiza de WordPress que te hará un superhéroe
 
20 claves de Seguridad WordPress
20 claves de Seguridad WordPress20 claves de Seguridad WordPress
20 claves de Seguridad WordPress
 
Nginx
NginxNginx
Nginx
 
Servidor web lamp
Servidor web lampServidor web lamp
Servidor web lamp
 
Tema1[php]
Tema1[php]Tema1[php]
Tema1[php]
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del Mediterráneo
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
WordPress - Batalla Práctica | BatallaFriki.com
WordPress - Batalla Práctica | BatallaFriki.comWordPress - Batalla Práctica | BatallaFriki.com
WordPress - Batalla Práctica | BatallaFriki.com
 
1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql
 
Wordpress: De un Blog a un CMS
Wordpress: De un Blog a un CMSWordpress: De un Blog a un CMS
Wordpress: De un Blog a un CMS
 
Receta red social
Receta red socialReceta red social
Receta red social
 

Último

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 

Último (7)

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 

wp-cli

  • 1.
  • 3. ¿De que vamos a hablar hoy? ● Linea de comandos ● ¿Como se ejecuta un comando? – nombre_del_comando parametro --clave=valor ● Ejemplos: ls, tail, curl… (en windows: dir...) ● Cada comando tiene un “manual”
  • 4. ¿Que es WordPress cli? ● Es un comando ;) ● Permite a los usuarios gestionar WP ● Ejecutar “muchas” de las tareas que se hacen desde la web.
  • 5. ¿Que podemos hacer desde wp-cli? ● Segun internet: instalar plugins, activarlos y desactivarlos ● Instalar WordPress ● Publicar post, editar, crear ● Copias de la bbdd ● Documentación de wp-cli: http://wp- cli.org/commands
  • 6. ¿Quien da soporte a wp-cli? ● Empresas que dan soporte a wp-cli (99% americanas): – 1&1 – GoDaddy – HostGator – ... https://make.wordpress.org/cli/handbook/hosting-companies/
  • 7. Instalando wp-cli ● Opciones: – wp-cli.phar (es un zip de php) https://raw.github.com/wp-cli/builds/gh- pages/phar/wp-cli.phar – Ejecutamos el .phar sobre php (ejecutamos un comando sobre otro comando)
  • 8.
  • 9. Instalando wp-cli ● Descargamos wp-cli.phar (vamos a perderle el miedo a la linea de comandos): – curl -O https://raw.github.com/wp-cli... ● ¿Por que digo que es un comando sobre otro comando? – php wp-cli.phar --info
  • 10. Instalando wp-cli II Usuarios avanzados de Linux: ● Descargamos el archivo wp-cli.phar ● Cambiamos permisos y movemos a bin para que se pueda ejecutar globalmente – chmod +x wp-cli.phar – sudo mv wp-cli.phar /usr/local/bin/wp – wp --info
  • 11. Instalando wp-cli III Para los usuarios de Windows: ● Requisitos: – Hay que tener instalado el interprete de php ● Descargamos el archivo desde un navegador ● Ejecutamos – php wp-cli.phar
  • 12. Instalando wp-cli IV Como proyecto composer: ● Descargando el proyecto: – composer create-project wp-cli/wp-cli –prefer- source ● Ejecutables: – wp-cli/bin/wp.bat – wp-cli/bin/wp
  • 13. Comandos básicos 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]
  • 14. Comandos básicos ● Descargar wp – wp core download o php wp-cli.phar core download – Parametros: --version ● Crear un wp-config.php – wp core config --dbname={YOUR DATABASE NAME} --dbuser={YOUR DATABASE USERNAME} --dbpass={YOUR DATABASE PASSWORD}
  • 15. Comandos básicos ● Crear una BBDD (antes crear el wp-config.php): – wp db create ● Instalar WP: – wp core install --url={YOUR DOMAIN NAME} --title={THE TITLE OF YOUR SITE} --admin_user={YOUR USER NAME} --admin_password={YOUR PASSWORD} --admin_email={YOUR EMAIL}
  • 16. Comandos básicos ● Cambiar el languaje: – wp core language install es_ES –activate ● Listar post: – wp post list --post_type=post --format=json –fields http://wp-cli.org/commands/post/list/ ● Editar un post: – wp post edit <id> (Editar solo el contenido).
  • 17. Comandos básicos ● Reemplazar información en la BBDD: – wp search-replace 'http://a.com' 'http://a.dev' wp_options –dry-run (solo probar el comando)
  • 18. Pero todo esto se puede hacer por interfaz gráfica!!
  • 19. Comandos básicos ● Generar contenido dinamico: – wp post generate –count=100 –post_type=page – post_date=2017-03-21 ● O con contenido: – curl http://loripsum.net/api/5 | wp post generate – post_content --count=10
  • 20. Parametros ● Parametros: – de posición – clave=valor Ejemplo: http://wp-cli.org/commands/search-replace/ ● Modificacion de la salida del comando: – wp post list --post_type='page' –format=ids – wp post delete $(wp post list --post_type='page' – format=ids)
  • 21.
  • 22. Automatizando tareas ● Crear un archivo bat o sh: #!/bin/bash echo "instalando nuestro wp" wp core download –parametro=... wp core config –parametro=... wp core install –parametro=...
  • 23. Paquetes ● Son los plugins de WP ● Con el tiempo son incorporados al core de wp-cli ● Otros están bastante desactualizados – Listado principal (paquetes de wp-cli): http://wp-cli.org/package-index/ – Otro (integran wp-cli): https://make.wordpress.org/cli/handbook/tools/
  • 24.
  • 25. Paquetes ● Otros: son paquetes de wp-cli o pueden venir en forma de plugin de wp Ejemplo: https://github.com/hoppinger/advanced-custom-field s-wpcli – wp plugin activate advanced-custom-fields- wp-cli – wp acf
  • 26. Paquetes ● Instalar un paquete: – wp package install wp-cli/doctor-command ● Ejecutar: – wp doctor (Recordar que todo comando tiene su “manual”)
  • 27. ¿Desde donde controlamos nuestro WP? ● Local ● ssh – wp post list --ssh=root@10.0.0.1 --path=/var/www (Antes era un paquete y ahora esta en el core de wp-cli: https://github.com/xwp/wp-cli-ssh) ● Http (hay que instalar un paquete) – wp post list --http='http://mi_empresa.es'
  • 28. ¿Y tengo introducir los parámetros cada vez que uso un comando?
  • 29. Archivos de configuración ● Se define un archivo wp-cli.yml # Global parameter defaults path: /var/www debug: true https://make.wordpress.org/cli/handbook/config/
  • 30. Alias @local: user: vainas path: /var/www/mi_web/ @pro: ssh: root@wp-cli.org:2222 user: vainas path: /srv/www/mi_web/ ● Y luego ejecutamos – wp @pro post list
  • 31. wp-cli por Http ● RESTfull en 30seg – Url amigable: http://api.example.com/verduras http://api.example.com/verdura/boniato http://api.example.com/post http://api.example.com/post/1
  • 32. wp-cli por Http ● json Es mainstream ● Ejemplo: ['post':{'title':'Mi primer post!', 'date': '2017-03-22', 'clave': 'valor}] ● Documentación: http://www.json.org/json-es.html ● ¿Que tiene que ver con controlar WP por Http?
  • 33. RESTfull wp-cli ● Es un paquete para conectar wp-cli con un servidor remoto por Http. ● Instalamos el paquete: – wp package install wp-cli/restful ● Instalamos el plugin en nuestro WP (incluido desde la versión 4.7) ● Leemos la documentación: https://github.com/wp-cli/restful ● Ejecutamos: – wp rest post list | edit | create | delete | get | update
  • 34. Crear tus propios paquetes: ● Instala un generador de paquetes: – wp package install wp-cli/scaffold-package- command ● Ejecuta: – wp scaffold package-demo /ruta ● Crea tu nuevo comando:
  • 35. <?php ● /** ● * Implements example command. ● */ ● class Example_Command extends WP_CLI_Command { ● ● function hello( $args, $assoc_args ) { ● list( $name ) = $args; ● ● // Print the message with type ● $type = $assoc_args['type']; ● WP_CLI::$type( "Hello, $name!" ); ● } ● } ● ● WP_CLI::add_command( 'comando', 'Example_Command' );
  • 36. Crear tus propios paquetes: ● Recomendaciones: – Usa la api de wp-cli antes que la de WP. http://wp-cli.org/docs/internal-api/ – Sigue sus estandares: https://make.wordpress.org/cli/handbook/document ation-standards/
  • 37. Wrappers de wp-cli ● Node ● Gema de Ruby ● Implementacion para servidores ● Puppet para ser instalado en vagrant ● Para usar con chef ● https://make.wordpress.org/cli/handbook/tools/#wra ppers
  • 38. Recursos ● wp-cli.org ● Script para instalar WP: https://gist.github.com/snieto/e53853eb62adeab fdb754f459cf413dd ● http://www.wpvalencia.org/wp-cli-la-navaja- suiza-de-wordpress/