Rodrigo Primo
WordCamp São Paulo 2013
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"
wp> get_the_title(1)
string(23) "WordCamp São Paulo 2013"
Atualizar o WP, plugins e temas:
$ wp core update
$ wp core update-db
$ wp theme update --all
$ wp plugin update --all
No terminal:
$ curl https://raw.github.com/wp-cli/wp-cli.github.com/master/
installer.sh | bash
Adicionar as linhas abaixo ao .bash_profile para auto-complete dos comandos:
# WP-CLI Bash completions
source ~/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash
Mais informações em http://wp-cli.org
Lista dos comandos disponíveis:
$ wp
Ajuda de um comando específico:
$ wp help theme
Ajuda de um sub-comando específico:
$ wp help theme list
Estrutura dos comandos:
$ wp comando subcomando --assoc_arg1=value1 arg1
$ wp user get --format=json admin
Baixar:
$ wp core download
Criar o wp-config.php:
$ wp core config --dbname=baseDeDados --dbuser=usuario
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 debug-bar
Instalar tema:
$ wp theme install p2
Ativar tema:
$ wp theme activate twentytwelve
Alterar uma string no banco de dados (em especial a URL do WP):
$ wp search-replace textoAntigo textoNovo
Ver o valor de uma opção serializada:
$ wp option get sidebars_widgets
Gerar dados para teste:
$ wp post generate --count=500
Gerar novamente todos os thumbnails:
$ wp media regenerate
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
Roda uma query no banco:
$ wp db query "select * from wp_users"
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
Deve-se criar uma classe para cada comando. Os métodos públicos da classe são os sub-comandos.
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.' );
}
wp_cache_post_change( $assoc_args['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 |