+ All Categories
Home > Education > Mike Schroder: Administra WordPress automáticamente con WP-CLI

Mike Schroder: Administra WordPress automáticamente con WP-CLI

Date post: 10-May-2015
Category:
Upload: mvkoen
View: 72 times
Download: 1 times
Share this document with a friend
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.
Popular Tags:
41
Mike Schroder | @GetSource Developer, WordPress Specialist con DreamHost ADMINISTRA WORDPRESS AUTOMÁTICAMENTE CON WP-CLI WordCamp Málaga 2013
Transcript
Page 1: Mike Schroder: Administra WordPress automáticamente con WP-CLI

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

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

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 4: Mike Schroder: Administra WordPress automáticamente con WP-CLI

HAY DOS GROUPOS DE GENTE

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 5: Mike Schroder: Administra WordPress automáticamente con WP-CLI

LOS QUE UTILIZAN LA LÍNEA DE COMANDOS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 6: Mike Schroder: Administra WordPress automáticamente con WP-CLI

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

NO TENGAS MIEDO DE LA CLI ES  TU  AMIGO.  

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 8: Mike Schroder: Administra WordPress automáticamente con WP-CLI

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

SUPER-GUAY SOFTWARE LIBRE PARA MANEJAR WORDPRESS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 10: Mike Schroder: Administra WordPress automáticamente con WP-CLI

MANEJADO POR CRISTI BURCĂ (SCRIBU) Y ANDREAS CRETEN

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 11: Mike Schroder: Administra WordPress automáticamente con WP-CLI

UTILIZA WORDPRESS SÍ MISMO PARA OPERARSE

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 12: Mike Schroder: Administra WordPress automáticamente con WP-CLI

¡AUTOMATIZATE!

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 13: Mike Schroder: Administra WordPress automáticamente con WP-CLI

¿QUE PUEDO HACER?

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 14: Mike Schroder: Administra WordPress automáticamente con WP-CLI

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 15: Mike Schroder: Administra WordPress automáticamente con WP-CLI

EN SERIO.

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 16: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp core update

ACTUALIZA WORDPRESS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 17: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp plugin install <slug o .zip>

INSTALLA UN PLUGIN

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 18: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp theme activate <slug>

ELIGE UN TEMA

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 19: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp db export [ficha]

GUARDA LA BASE DE DATOS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 20: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp plugin update-all

ACTUALIZA LOS PLUGINS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 21: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp theme update-all

ACTUALIZA LOS TEMAS

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 22: Mike Schroder: Administra WordPress automáticamente con WP-CLI

$ wp search-replace <viejo> <nuevo>

SUSTITUIR TEXTO EN DB

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 23: Mike Schroder: Administra WordPress automáticamente con WP-CLI

¿QUÉ ES ÉSTA MÁGIA?

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 24: Mike Schroder: Administra WordPress automáticamente con WP-CLI

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 25: Mike Schroder: Administra WordPress automáticamente con WP-CLI

CONVENCIDO. ¿CÓMO PUEDO OBTENERLO?

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 26: Mike Schroder: Administra WordPress automáticamente con WP-CLI

-­‐    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

$ 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

�¡ESPERA; HAY MÁS!

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 29: Mike Schroder: Administra WordPress automáticamente con WP-CLI

¡WP-CLI ES EXTENSÍBLE!

Mike  Schroder  |  @GetSource  |  #wcuma  

Page 30: Mike Schroder: Administra WordPress automáticamente con WP-CLI

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

Ó 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

$ 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

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

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

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

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

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

  // 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

// 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

   // 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

   -­‐    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  


Recommended