O WordPress oferece uma poderosa API de hooks, permitindo que desenvolvedores estendam funcionalidades e modifiquem o comportamento do CMS sem alterar o código principal. Se você está desenvolvendo um plugin, entender como os hooks funcionam é essencial. Neste artigo, vamos explorar os principais hooks que podem ser usados no desenvolvimento de plugins.
O Que São Hooks no WordPress?
Hooks são pontos específicos no código do WordPress onde é possível inserir funções personalizadas. Existem dois tipos de hooks:
- Action Hooks – Permitem executar funções em determinados pontos do ciclo de vida do WordPress.
- Filter Hooks – Permitem modificar dados antes de serem exibidos ou armazenados.
Agora, vamos listar os principais hooks que você pode usar no desenvolvimento do seu plugin.
Principais Action Hooks
Os action hooks permitem adicionar funcionalidades em momentos específicos da execução do WordPress. Aqui estão alguns dos mais importantes:
1. init
Este hook é acionado após a inicialização do WordPress, sendo um dos mais utilizados para carregar scripts, criar custom post types e muito mais.
add_action('init', 'meu_plugin_funcao');
function meu_plugin_funcao() {
// Seu código aqui
}
2. admin_menu
Usado para adicionar itens de menu na área administrativa do WordPress.
add_action('admin_menu', 'meu_plugin_adicionar_menu');
function meu_plugin_adicionar_menu() {
add_menu_page('Meu Plugin', 'Meu Plugin', 'manage_options', 'meu-plugin', 'meu_plugin_pagina');
}
3. wp_enqueue_scripts
Utilizado para carregar scripts e folhas de estilo na parte pública do site.
add_action('wp_enqueue_scripts', 'meu_plugin_carregar_scripts');
function meu_plugin_carregar_scripts() {
wp_enqueue_style('meu-plugin-css', plugin_dir_url(__FILE__) . 'css/style.css');
wp_enqueue_script('meu-plugin-js', plugin_dir_url(__FILE__) . 'js/script.js', array('jquery'), null, true);
}
4. wp_footer
Executa código antes do fechamento da tag <body>
, sendo útil para adicionar scripts de rastreamento ou widgets personalizados.
add_action('wp_footer', 'meu_plugin_mensagem_rodape');
function meu_plugin_mensagem_rodape() {
echo '<p style="text-align: center;">Obrigado por visitar nosso site!</p>';
}
5. plugins_loaded
É um hook fundamental para inicializar funcionalidades do plugin após a carga dos plugins.
add_action('plugins_loaded', 'meu_plugin_inicializar');
function meu_plugin_inicializar() {
// Lógica de inicialização
}
Principais Filter Hooks
Os filter hooks permitem modificar dados antes que eles sejam processados pelo WordPress. Aqui estão alguns dos mais comuns:
1. the_content
Permite modificar o conteúdo de posts antes de serem exibidos.
add_filter('the_content', 'meu_plugin_modificar_conteudo');
function meu_plugin_modificar_conteudo($conteudo) {
return $conteudo . '<p>Obrigado por ler nosso artigo!</p>';
}
2. the_title
Altera o título dos posts antes da exibição.
add_filter('the_title', 'meu_plugin_modificar_titulo');
function meu_plugin_modificar_titulo($titulo) {
return '[Destaque] ' . $titulo;
}
3. wp_title
Modifica o título da página exibida no navegador.
add_filter('wp_title', 'meu_plugin_modificar_wp_title');
function meu_plugin_modificar_wp_title($titulo) {
return $titulo . ' - Meu Site';
}
4. login_redirect
Personaliza o redirecionamento de usuários após o login.
add_filter('login_redirect', 'meu_plugin_redirect_login', 10, 3);
function meu_plugin_redirect_login($redirect_to, $request, $user) {
return home_url('/painel-usuario/');
}
5. excerpt_length
Modifica o tamanho do resumo dos posts.
add_filter('excerpt_length', function($length) {
return 20; // Define o resumo para 20 palavras
});
Conclusão
Os hooks são um dos pilares do desenvolvimento de plugins no WordPress. Com essa lista dos principais action e filter hooks, você já pode começar a criar plugins mais robustos e personalizados. Sempre consulte a documentação oficial do WordPress para mais detalhes e boas práticas.
Agora é sua vez! Qual desses hooks você já utilizou? Tem alguma dúvida ou sugestão? Deixe seu comentário!