mike schroder: administra wordpress automáticamente con wp-cli
DESCRIPTION
Aprende cómo utilizar la línea de comandos (CLI) para mejorar tú vida como administrador de WordPress. ¿Te encanta la idea de actualizar todos los plugins con el simple comando de “wp plugin update-all“? Descubre WP-CLI, una herramienta de software libre para manejar WordPress. Aprenderás cómo instalarlo, hacer operaciones comunes de administración en WordPress, y ampliar su funcionalidad con plugins de tu propia creación.TRANSCRIPT
![Page 1: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/1.jpg)
Mike Schroder | @GetSource Developer, WordPress Specialist con DreamHost
ADMINISTRA WORDPRESS AUTOMÁTICAMENTE CON WP-CLI
WordCamp Málaga 2013
![Page 2: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/2.jpg)
RANDOM FACTS Multicutural Encanta Café y Sailing Blogea en getsource.net
CREDENTIALS
Mike Schroder, alias DH-‐Shredder, alias @GetSource
Empleado Feliz de DreamHost Contribuador a WordPress Core WordPress 3.5 Recent Rockstar Contribuidor a WP-‐CLI
Mike Schroder | @GetSource | #wcuma
![Page 3: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/3.jpg)
Mike Schroder | @GetSource | #wcuma
![Page 4: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/4.jpg)
HAY DOS GROUPOS DE GENTE
Mike Schroder | @GetSource | #wcuma
![Page 5: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/5.jpg)
LOS QUE UTILIZAN LA LÍNEA DE COMANDOS
Mike Schroder | @GetSource | #wcuma
![Page 6: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/6.jpg)
LOS QUE VAN A UTILZAR LA LÍNEA DE COMANDOS
Mike Schroder | @GetSource | #wcuma
![Page 7: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/7.jpg)
NO TENGAS MIEDO DE LA CLI ES TU AMIGO.
Mike Schroder | @GetSource | #wcuma
![Page 8: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/8.jpg)
TE GUSTA LA CLI? WP-‐CLI TE MEJORA LA VIDA
Mike Schroder | @GetSource | #wcuma
![Page 9: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/9.jpg)
SUPER-GUAY SOFTWARE LIBRE PARA MANEJAR WORDPRESS
Mike Schroder | @GetSource | #wcuma
![Page 10: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/10.jpg)
MANEJADO POR CRISTI BURCĂ (SCRIBU) Y ANDREAS CRETEN
Mike Schroder | @GetSource | #wcuma
![Page 11: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/11.jpg)
UTILIZA WORDPRESS SÍ MISMO PARA OPERARSE
Mike Schroder | @GetSource | #wcuma
![Page 12: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/12.jpg)
¡AUTOMATIZATE!
Mike Schroder | @GetSource | #wcuma
![Page 13: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/13.jpg)
¿QUE PUEDO HACER?
Mike Schroder | @GetSource | #wcuma
![Page 14: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/14.jpg)
Mike Schroder | @GetSource | #wcuma
![Page 15: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/15.jpg)
EN SERIO.
Mike Schroder | @GetSource | #wcuma
![Page 16: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/16.jpg)
$ wp core update
ACTUALIZA WORDPRESS
Mike Schroder | @GetSource | #wcuma
![Page 17: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/17.jpg)
$ wp plugin install <slug o .zip>
INSTALLA UN PLUGIN
Mike Schroder | @GetSource | #wcuma
![Page 18: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/18.jpg)
$ wp theme activate <slug>
ELIGE UN TEMA
Mike Schroder | @GetSource | #wcuma
![Page 19: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/19.jpg)
$ wp db export [ficha]
GUARDA LA BASE DE DATOS
Mike Schroder | @GetSource | #wcuma
![Page 20: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/20.jpg)
$ wp plugin update-all
ACTUALIZA LOS PLUGINS
Mike Schroder | @GetSource | #wcuma
![Page 21: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/21.jpg)
$ wp theme update-all
ACTUALIZA LOS TEMAS
Mike Schroder | @GetSource | #wcuma
![Page 22: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/22.jpg)
$ wp search-replace <viejo> <nuevo>
SUSTITUIR TEXTO EN DB
Mike Schroder | @GetSource | #wcuma
![Page 23: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/23.jpg)
¿QUÉ ES ÉSTA MÁGIA?
Mike Schroder | @GetSource | #wcuma
![Page 24: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/24.jpg)
Mike Schroder | @GetSource | #wcuma
![Page 25: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/25.jpg)
CONVENCIDO. ¿CÓMO PUEDO OBTENERLO?
Mike Schroder | @GetSource | #wcuma
![Page 26: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/26.jpg)
-‐ Accesso SSH a tu directorio WordPress -‐ PHP 5.3.2+ -‐ WordPress 3.4+ -‐ Tanta RAM para que corren los processos shell de WordPress -‐ Linux o MacOS (por ahora)
¿QUÉ REQUIERE PARA USARLO?
Mike Schroder | @GetSource | #wcuma
![Page 27: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/27.jpg)
$ curl http://wp-cli.org/installer.sh | bash
INSTALA COMO USADOR LOCAL
Instrucciones Completas: wp-‐cli.org
Mike Schroder | @GetSource | #wcuma
![Page 28: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/28.jpg)
�¡ESPERA; HAY MÁS!
Mike Schroder | @GetSource | #wcuma
![Page 29: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/29.jpg)
¡WP-CLI ES EXTENSÍBLE!
Mike Schroder | @GetSource | #wcuma
![Page 30: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/30.jpg)
Ejecutar/Alias: $ wp --require='cmd_name.php’
wp-‐cli.yml
require: /path/to/cmd_name.php
AÑÁDELO LOCALMENTE
Mike Schroder | @GetSource | #wcuma
![Page 31: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/31.jpg)
Ó EN LOS PLUGINS if ( defined('WP_CLI') && WP_CLI ) { include( PLUGIN_DIR . '/lib/wp-cli.php' ); }
Mike Schroder | @GetSource | #wcuma
![Page 32: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/32.jpg)
$ wp migrate backup [ficha.tar.gz] [--no-db] [--db-name=<ficha.sql>]
COMANDO PERSONALIZADO: BACKUP
Mike Schroder | @GetSource | #wcuma
![Page 33: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/33.jpg)
Strategía -‐ Utiliza el comando internal para guardar la base de datos -‐ Crea un .tar.gz combinando las aichas del instalación y la base de datos
COMANDO PERSONALIZADO: BACKUP
Mike Schroder | @GetSource | #wcuma
![Page 34: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/34.jpg)
AÑADA COMMANDO <?php WP_CLI::add_command( 'migrate', 'DH_Migrate_Command' ); /** * DreamHost Migrate Plugin * * @package DH_Migrate_Command * @subpackage commands/community * @maintainer Mike Schroder */ class DH_Migrate_Command extends WP_CLI_Command { // ...
Mike Schroder | @GetSource | #wcuma
![Page 35: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/35.jpg)
DEFINE EL SUBCOMMANDO /** * Guarda WordPress entero, encluyendo core, plugins y la base de datos. * * ## OPTIONS * * [<backup-filename>] * : Fichero donde guardar la copia de seguridad * * [--no-db] * : No crea copia de seguridad de la base de datos * dentro del archivo creado * * [--db-name=<filename>] * : Guarda el base de datos en el archivo con el nombre <filename> * * ...
Mike Schroder | @GetSource | #wcuma
![Page 36: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/36.jpg)
DEFINE EL SUBCOMMANDO
* ... */ function backup( $args, $assoc_args ) { // ...
$args Argumentos Independientes
$assoc_args --arg=value Argumentos Associativos
Mike Schroder | @GetSource | #wcuma
![Page 37: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/37.jpg)
function backup( $args, $assoc_args ) { $filename = $dbname = null; $backup_directory = '../'; // Si no specifica un nombre para el fichero, // usa "Site's Title.tar.gz" if ( empty( $args ) ) $filename = $backup_directory . get_bloginfo() . '.tar.gz'; else $filename = $args[0]; // ...
Mike Schroder | @GetSource | #wcuma
![Page 38: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/38.jpg)
// Si specifica --no-db, no guarda la base de datos. if ( ! isset( $assoc_args['no-db'] ) ) { $dbname = isset( $assoc_args['db-name'] ) ? $assoc_args['db-name'] : 'database_backup.sql'; WP_CLI::run_command( array( 'db', 'export', $backup_directory . $dbname), array() ); } // ...
Mike Schroder | @GetSource | #wcuma
![Page 39: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/39.jpg)
// Utilizamos esc_cmd para filtrar los argumentos automaticamente. // No podemos utilizar --exclude-vcs, porque no funciona en OSX. WP_CLI::line( "Guardano en $filename ..." ); $result = WP_CLI::launch( \WP_CLI\Utils\esc_cmd( " tar \ --exclude '.git' \ --exclude '.svn' \ --exclude '.hg’ \ --exclude '.bzr' \ -czf %s . -C %s %s \ ", $filename, $backup_directory, $dbname ), false ); // ...
Mike Schroder | @GetSource | #wcuma
![Page 40: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/40.jpg)
// Si creimos una copia de la base de datos, borra la copia temporal. if ( $dbname && ! unlink( $backup_directory . $dbname ) ) WP_CLI::warning( "No pude borrar la base de datos temporal, '$dbname'." ); if ( 0 == $result ) { WP_CLI::success( "Copia de seguridad creado." ); } else { WP_CLI::error( "Creatión de la copia de seguridad ha fallado." ); } } // Termina backup } // Termina DH_Migrate_Command
Mike Schroder | @GetSource | #wcuma
![Page 41: Mike Schroder: Administra WordPress automáticamente con WP-CLI](https://reader034.vdocuments.mx/reader034/viewer/2022042512/554f5058b4c905524c8b4e00/html5/thumbnails/41.jpg)
-‐ wp-‐cli.org -‐ getsource.net/tag/wp-‐cli/ -‐ halfelf.org/2012/command-‐line-‐wp -‐ ailes.fosswire.com/2007/08/fwunixref.pdf
APRENDE MÁS: WP-CLI:
Chuleta de CLI:
Mike Schroder | @GetSource | #wcuma