Rodrigo Primo
WordCamp Rio 2014
Backups periódicos da base de dados:
#!/bin/bash
cd /diretorio/wp/
wp db export /diretorio/backup/wordpress.sql
Script Python para pegar informações de um usuário:
import subprocess
def get_wp_user_info(user_name):
command = ["wp", "user", "get", user_name]
proc = subprocess.Popen(command,
stdout=subprocess.PIPE)
out, err = proc.communicate()
return out.strip("\n")
print get_wp_user_info("admin")
Geração de código:
$ wp scaffold plugin wordcamp
$ wp scaffold post-type slides --plugin=wordcamp
Depuração:
$ wp shell
wp> get_bloginfo('blogname')
string(13) "WordCamp Rio 2014"
wp> get_the_title(1)
string(23) "WP-CLI: o WordPress na linha de comando"
Atualizar o WP, plugins e temas:
$ wp core update
$ wp core update-db
$ wp theme update --all
$ wp plugin update --all
No terminal:
$ curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/
wp-cli.phar > wp-cli.phar
$ chmod +x wp-cli.phar
$ sudo mv wp-cli.phar /usr/bin/wp
Mais informações em http://wp-cli.org
Para instalar o auto-complete dos comandos, primeiro baixar o arquivo wp-completion.bash:
$ wget https://github.com/wp-cli/wp-cli/raw/master/utils/
wp-completion.bash
E então adicionar as linhas abaixo ao .bash_profile:
# WP-CLI Bash completions
source /caminho/para/wp-completion.bash
Lista dos comandos disponíveis:
$ wp
Estrutura dos comandos:
$ wp comando subcomando --flag --assoc_arg1=value1 arg1
$ wp user get --format=json admin
Ajuda de um comando:
$ wp help theme
Ajuda de um sub-comando:
$ wp help theme list
Baixar:
$ wp core download
Criar o wp-config.php:
$ wp core config --dbname=baseDeDados --dbuser=usuario
Criar a base de dados:
$ wp db create
Instalar:
$ wp core install --url=http://wc.dev --title=WC
--admin_user=admin --admin_password=wc
--admin_email=wordcamp@wordpress.org
Instalar plugin:
$ wp plugin install --activate query-monitor
Instalar tema:
$ wp theme install p2
Ativar tema:
$ wp theme activate twentytwelve
Migrar uma base de dados da produção para o ambiente de desenvolvimento:
$ wp search-replace --url=example.com example.com example.dev
Ver o valor de uma opção serializada:
$ wp option get sidebars_widgets
Gerar dados para teste:
$ wp post generate --count=500
Exporta a base de dados para um arquivo SQL:
$ wp db export dump.sql
Importa um arquivo SQL para a base de dados:
$ wp db import dump.sql
Abre o shell do MySQL:
$ wp db cli
Deletar um conjunto de posts:
$ wp post delete $(wp post list --post_type='post' --format=ids)
Carregar novos comandos:
function wpsc_cli_init() {
if ( !function_exists( 'wp_super_cache_enable' ) )
return;
if ( defined('WP_CLI') && WP_CLI ) {
include dirname(__FILE__) . '/cli.php';
}
}
add_action( 'plugins_loaded', 'wpsc_cli_init' );
Fonte: https://github.com/wp-cli/wp-super-cache-cli
Adicionar novo comando no arquivo cli.php:
WP_CLI::add_command( 'super-cache', 'WPSuperCache_Command' );
/**
* Command line interface for wp-super-cache
*/
class WPSuperCache_Command extends WP_CLI_Command {
[...]
}
Exemplo de comando:
/**
* Clear something from the cache.
*
* @synopsis [--post_id=<post-id>]
*/
function flush( $args = array(), $assoc_args = array() ) {
[...]
}
function flush( $args = array(), $assoc_args = array() ) {
if ( isset($assoc_args['post_id']) ) {
if ( is_numeric( $assoc_args['post_id'] ) ) {
wp_cache_post_change( $assoc_args['post_id'] );
WP_CLI::success( 'Cache cleared.' );
} else {
WP_CLI::error( 'This is not a valid post id.' );
}
} else {
global $file_prefix;
wp_cache_clean_cache( $file_prefix, true );
WP_CLI::success( 'Cache cleared.' );
}
}
Rodrigo Primo
rodrigo@hacklab.com.br
http://rodrigoprimo.com
http://github.com/rodrigoprimo
Table of contents | t |
---|---|
Exposé | ESC |
Autoscale | e |
Full screen slides | f |
Presenter view | p |
Source files | s |
Slide numbers | n |
Blank screen | b |
Notes | 2 |
Help | h |