O que são ganchos do WordPress? Como as ações e os filtros ajudam a estender a funcionalidade?
Publicados: 2018-06-13
Última atualização - 9 de outubro de 2020
Se você já trabalhou no WordPress, deve ter se deparado com a palavra ' Hook ' muitas vezes. Se você é um desenvolvedor do WordPress que deseja criar plugins e temas, os ganchos do WordPress são cruciais para o seu desenvolvimento.
Mas o que exatamente são Hooks?
De acordo com o codex WordPress.org, “ Os ganchos são fornecidos pelo WordPress para permitir que seu plugin 'se conecte' ao resto do WordPress; isto é, para chamar funções em seu plugin em momentos específicos e, assim, colocar seu plugin em movimento.”
Ganchos em termos gerais conectam uma coisa com outra. Na terminologia do WordPress, ele conecta (conecta) o código definido pelo usuário com o código existente do núcleo do WordPress.
Vamos deixar isso bem claro.
O WordPress é construído com algumas funcionalidades padrão. Ele tem comportamento padrão e valores associados a ele. Com hooks, você pode modificar esse comportamento padrão e substituir o valor existente, personalizando o ambiente do WordPress de acordo com suas necessidades.
Tipos de ganchos
Existem dois tipos de Ganchos:
- Action Hooks – Usado para executar em algum ponto da execução, alterando o fluxo padrão de execução. Aqui está uma lista de ganchos de ação do WordPress.
- Ganchos de filtro – ligeiramente diferentes dos ganchos de ação, os ganchos de filtro são usados para modificar os dados padrão do WordPress e substituí-los por um valor personalizado, antes de serem mostrados ao usuário no front-end ou armazenados no banco de dados. Uma lista de ganchos de filtro pode ser encontrada no WordPress Codex.
Basicamente, os ganchos são funções predefinidas em si. Portanto, os dois tipos de funções associadas aos ganchos são:
- Funções de ação – Essas funções são úteis em eventos quando um blog é postado, uma página é carregada e assim por diante.
A seguir estão algumas das funções de ação:- add_action()
- did_action()
- fazendo_ação()
- do_action()
- do_action_ref_array()
- has_action()
- remove_action()
- remove_all_actions()
- Funções de filtro – Cada função de filtro retorna algum valor e o substitui pelos dados padrão do WordPress.
As funções de filtro incluem o seguinte:- add_filter()
- apply_filters()
- apply_filters_ref_array()
- current_filter()
- fazendo_filtro()
- has_filter()
- remove_all_filters()
- remove_filter()
Um infográfico
Observe o infográfico a seguir para entender melhor como os ganchos funcionam.

Conforme mostrado no infográfico acima, as funções Ação e Filtro fazem uso dos respectivos ganchos para modificar o código principal do WordPress.
Como é um Gancho?
Um gancho de ação típico tem a seguinte forma:
add_action ( 'gancho', 'your_custom_function_name', [priority], [accepted_parameters]); função your_custom_function_name() { //Seu código personalizado }
Onde hook é o nome do gancho, your_custom_function_name é o nome da função com seu código personalizado, parâmetro de prioridade opcional que indica como o gancho deve ser executado, parâmetros aceitos indicando os parâmetros adicionais e o código personalizado. o chamada de função ( add_action()) pode estar abaixo ou acima do trecho de código.
Um gancho de filtro tem o seguinte formato:
add_filter( 'filtro', 'your_custom_function_name', 'priority', 'accepted_args'); função your_custom_function_name($variável) { //Seu código personalizado Retorna; }
Onde add_filter() é um das funções do hook Filter, filter é o nome do filtro que você vai usar, your_custom_function_name é o nome da sua função definida pelo usuário, o parâmetro priority indica a ordem de execução do hook, accept_args indica os argumentos a serem passados e o custom código com o valor de retorno obrigatório.

Assim como o WordPress, também existem ganchos disponíveis para WooCommerce. Esses ganchos são amplamente usados para desenvolver plugins, temas e personalizar o processo WooCommerce Checkout.
Leia Ganchos do WooCommerce: Ações e filtros na documentação do WooCommerce para entender os ganchos do WooCommerce em detalhes.
Demonstração
Vamos entender os ganchos usando alguns trechos de código de exemplo.
Gancho de ação e função
//Adicionando um gancho de ação function minha_ação_gancho() { echo "<p align='center'>Este é um exemplo de gancho de ação</p>"; } add_action( 'get_header', 'my_action_hook' );
No trecho de código acima, 'my_action_hook' é o nome da função personalizada, 'add_action' é uma das funções de ação e 'get_header' é usado para personalizar o cabeçalho do modelo. No trecho de código fornecido, estamos exibindo o texto 'This is an Action Hook Demo' na seção de cabeçalho do site.
Uma captura de tela de amostra mostrando as alterações do snippet de código aplicado é mostrada abaixo.

Gancho e função do filtro
//Adicionando um gancho de filtro add_filter('woocommerce_get_price_html','my_filter_hook'); function meu_filtro_gancho($preço){ return 'Por apenas '.$preço; }
No trecho de código acima, 'woocommerce_get_price_html' é um gancho WooCommerce para obter o preço do produto, 'my_filter_hook' é o nome do filtro definido pelo usuário e '$price' é uma variável definida pelo usuário. O snippet de código simplesmente adiciona o prefixo “For just” ao preço do produto.
A captura de tela a seguir mostra como o trecho de código afeta nossa loja WooCommerce.

Este é apenas um exemplo simples, há muitas coisas que você pode alcançar com Hooks.
Como as ações e os filtros ajudam a estender a funcionalidade?
- A principal vantagem de usar Hooks é que ele ajuda a personalizar o código principal do WordPress.
- Quaisquer alterações no desenvolvimento podem ser cuidadosamente monitoradas, pois a modificação é apenas mínima, e não em várias ocasiões no código.
- O desenvolvimento de novos plugins é muito mais fácil com o método try-and-test.
- Para o desenvolvimento de temas, pode-se criar temas filhos e brincar com ganchos sem afetar o tema pai.
- É uma oferta WordPress simples e fácil de usar que possui estrutura compreensível e documentação detalhada para qualquer referência.
- Suporta WooCommerce, o plugin de comércio eletrônico WordPress mais popular. Os plug-ins de preços do WooCommerce alteram amplamente os preços dos produtos, cálculos de preços e oferecem preços e descontos dinâmicos usando os ganchos do WooCommerce. Detalhes do pedido, informações do produto, detalhes de envio entre outras coisas podem ser acessados usando ganchos personalizados.
Comentários finais
Os Hooks do WordPress são o mecanismo chave para o desenvolvimento de plugins e temas. Eles são amplamente usados para modificar o código existente do WordPress para personalizar o site. Embora os ganchos tenham várias vantagens, deve-se garantir que cada gancho personalizado seja exclusivo e não se sobreponha a outro gancho com o mesmo nome. Mesmo nesse caso, você pode atribuir prioridade aos ganchos para execução conforme suas necessidades.
Confira nossos artigos de personalização do WooCommerce para obter dicas sobre como personalizar sua loja WooCommerce.
Ou continue explorando o LearnWoo para mais artigos incríveis.