WordCamp Málaga: WP-CLI en Español

Tuve la gran oportunidad de presentar sobre WP-CLI en WordCamp Málaga — en Español.

Es la primera vez que presento en Español, y la primera vez que visito España en unos 15 años.

No supe cuánto Español iba a recordar, pero fue bastante bien, con muchas reacciones positivas.

¡Gracias por la invitación y hospitalidad!

Aquí teneís las transparencias en PDF.

Debajo, podéis verlas incluido desde SpeakerDeck, y también el codigo del plugin de backup:

¡Si teneís preguntas, deja un comentario aquí!

<?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 {

	/**
	 * 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>
	 *
	 * @param array $args
	 * @param array $assoc_args
	 */
	function backup( $args, $assoc_args ) {
		$filename = $dbname = null;
		$backup_directory = '../';

		// Si no specifica un nombre para el fichero, usa "Titulo del blog.tar.gz"
		if ( empty( $args ) )
			$filename = $backup_directory . get_bloginfo() . '.tar.gz';
		else
			$filename = $args[0];

		// 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() );
		}

		// Utilizamos esc_cmd para filtrar los argumentos automaticamente.
		// No podemos utilizar --exclude-vcs, porque no funciona en OSX. 
		WP_CLI::line( "Guardando 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 );

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

4 thoughts on “WordCamp Málaga: WP-CLI en Español”

  1. lo acabo de instalar y no funciona.

    server [root]:~/misitio# wp core version
    3.5.1
    server [root]:~/misitio# wp core update
    Success: Tienes la última versión de WordPress.

    Alguna idea?

  2. No había visto tu entrada jajajaja. Gracias por insertar el tuit. Enhorabuena otra vez por la charla, de lo mejorcito del WordCamp Málaga.
    Un saludo y no te preocupes por el idioma “pecador de la pradera”.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.