Tudo o que você precisa saber sobre ganchos do WordPress
Publicados: 2015-07-11Viciado em ganchos do WordPress?
Há muita coisa acontecendo nos bastidores enquanto o WordPress trabalha para renderizar o componente necessário para o seu site. Cada página é composta de algumas funções e consultas de banco de dados. O núcleo do WordPress e o tema trabalham juntos para produzir texto, imagens, folhas de estilo e outros arquivos. Com a ajuda do navegador, todas essas peças são interpretadas e reunidas em uma página da web. Os ganchos permitem personalizar, estender e aprimorar o WordPress.
Hooks são nomeados apropriadamente porque podemos literalmente “ligar” ao WordPress para recuperar, inserir ou modificar dados, ou fazer outras tarefas nos bastidores. De certa forma, “penduramos” nosso código personalizado nesses ganchos. Como sabemos, modificar o núcleo do WordPress não é uma boa ideia. Por causa disso, ganchos de ação e ganchos de filtro no WordPress são a melhor maneira de alterar as funcionalidades existentes ou criar novas.
Tipos de ganchos
Ganchos são uma parte necessária ao fazer personalizações. Existem dois tipos principais de ganchos: ganchos de ação e ganchos de filtro. Cada um oferece algo diferente, por isso é importante entender quando usar qual deles.
Um gancho não pode ser simplesmente lançado em qualquer lugar; precisa haver algo para "ligar". É necessário ter esse ponto de execução para esse gancho. A boa notícia é que em todo o núcleo do WordPress, existem ganchos integrados que estão disponíveis para referência.

Por que usar ganchos
Muita coisa pode ser alterada com ganchos porque muitas das principais funções do WordPress usam ações e filtros. Compreender os hooks é absolutamente necessário para quem desenvolve com WordPress e para designers que desejam modificar o WordPress ou o comportamento do tema.
Ganchos de ação
Ganchos de ação indicam que algo aconteceu, não deve ser confundido com os próprios eventos. As ações são acionadas por eventos específicos que ocorrem no WordPress. Um exemplo de evento pode ser publicar uma postagem, alterar temas ou ativar um plug-in. As ações permitem adicionar funcionalidades extras em um ponto específico do processamento da página. Ganchos de ação podem fazer coisas como:
- Modificar dados no banco de dados do WordPress
- Modificar o que é exibido no navegador
- Enviar um e-mail quando um evento acontecer
- Adicionar um widget, menu ou uma mensagem personalizada à página

Exemplo de gancho de ação
add_action( $hook, $function_to_add, $priority, $accepted_args );
Os parâmetros necessários da função add_action são o gancho e a função a serem adicionados. Incluir a prioridade é opcional. Com um valor inteiro baseado em uma escala de 1 a 999, esse número determina a ordem de prioridade das funções para aquele gancho específico. Você pode não precisar dele, mas o último parâmetro é usado quando você precisa passar ou aceitar vários argumentos.
Vamos dar uma olhada em um gancho de ação básico:
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
Este gancho básico adicionará “Hello WordPress” ao topo da página. Tem uma prioridade de 5. Os números mais baixos correspondem à execução anterior. Por padrão, é definido como 10, portanto, este exemplo é executado antes do padrão.

Ganchos de filtro
Vamos analisar um cenário comum e como os ganchos de filtro entram em ação. Pense em todas as vezes que seus usuários visitam seu site e uma postagem é carregada para eles lerem. Como parte do ciclo de vida da página do WordPress, o WordPress consulta o banco de dados para essa postagem e, em seguida, ela é retornada ao navegador, pronta para ser lida pelo usuário. Tudo parece simples, mas antes que o conteúdo seja veiculado, o WordPress executa os dados por meio de quaisquer filtros que tenham sido estabelecidos. Esses ganchos de filtro podem ser facilmente criados quando necessário.
Pense assim: as ações são acionadas por eventos específicos, mas os filtros permitem a interceptação e modificação dos dados à medida que são processados. Ganchos de filtro são usados quando você precisa interceptar, gerenciar ou retornar dados antes de renderizá-los no navegador ou salvar dados do navegador no banco de dados. Por exemplo, você pode querer inserir outra classe CSS em um elemento HTML do WordPress ou registrar tipos de metacampos adicionais. Ambos podem ser executados com um gancho de filtro.

Os filtros ficam entre o banco de dados e o navegador enquanto o WordPress gera páginas. Além disso, eles ficam entre o navegador e o banco de dados, pois o WordPress adiciona novas postagens e comentários ao banco de dados. Por causa disso, os hooks de filtro podem fazer coisas úteis como:
- Adicione dados ao banco de dados ou envie para a tela do navegador
- Manipule os dados que saem do banco de dados antes de entrar no navegador ou do navegador antes de entrar no banco de dados.
Exemplo de gancho de filtro
No exemplo abaixo, veremos como um hook de filtro funciona no conteúdo. Esse gancho é acionado logo antes do conteúdo ser usado, colocado no banco de dados ou renderizado pelo WordPress para visualização na tela. Isso altera os dados quando o gancho de filtro é acionado.
A função add_filter é o que precisamos conectar em um filtro. Os argumentos podem parecer familiares para você, o add_filter é o mesmo que o add_action . Vamos agora conectar-se ao filtro do WordPress the_content, que é chamado antes de qualquer conteúdo de postagem ser exibido. Neste exemplo simples, o filtro nos permitirá adicionar uma nota de direitos autorais a cada postagem. Nesse ponto, os filtros agirão nos dados que estão sendo passados a eles.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
Observe que, ao usar um filtro, você deve sempre devolver algo ou as coisas quebrarão.
Adicionando ganchos a um tema
Ao adicionar ganchos e filtros ao tema, certifique-se de estar trabalhando em um tema filho. A principal razão é que, se você estiver trabalhando no tema pai, essas modificações poderão ser substituídas se houver uma atualização nos arquivos do tema.
Espero que você tenha uma melhor compreensão dos ganchos, o que eles podem fazer e como eles podem ajudar. Os ganchos podem ser muito simples, muito complexos ou algo intermediário. Uma vez que você tenha os conceitos básicos, você ficará viciado em nenhum momento.
