WordPress add_filter vs funções add_action, o básico.

Publicados: 2021-08-24

Divulgação: Este post contém links de afiliados. Posso receber uma compensação quando você clicar em links para produtos neste post. Para obter uma explicação da minha Política de Publicidade, visite esta página . Obrigado por ler!

Conteúdo

  • Quais são as funções add_filter vs add_action do WordPress?
  • Então, o que exatamente é um “gancho” no WordPress?
  • Qual é a diferença entre ganchos, filtros e ações?
  • Qual é a diferença entre do_action e add_action no WordPress?
  • Qual é a diferença entre ganchos de ação e ganchos de filtro?
  • O que os filtros fazem no WordPress?
  • O que as ações fazem no WordPress?
  • Posso usar um add_action antes de add_filter ao ajustar um plugin do WordPress?
  • Então, qual é a diferença real entre os ganchos add_filter e os ganchos add_action no WordPress?

Quais são as funções add_filter vs add_action do WordPress?

Já pegou um plugin ou tema que seria perfeito se você pudesse fazer um ou dois ajustes nele? No entanto, esses dois ajustes exigirão que você adicione apenas um pouco de código, talvez até algum código de acesso.

Mas antes de fazer isso, você precisa entender os conceitos básicos de add_filter vs add_action, as diferenças e como eles funcionam no WordPress antes de transformar um plugin ou tema quase perfeitamente codificado em uma bagunça completa.

Um “add_action” no WordPress é o que você usa para criar um gatilho “gancho”. Quando algo acontece, então faça outra coisa.

Um “add_filter” é usado para “ligar” os dados, ou seja, alterar/substituir. Por exemplo, onde houver [algum código], altere-o para algum outro código expandido.

O “gancho” é uma “função” ou “método” para um filtro ou ação específica. Mais sobre “ganchos” abaixo.

O WordPress oferece ganchos de filtro para permitir que plugins modifiquem vários tipos de dados internos durante seu tempo de execução. Um plug-in pode modificar dados vinculando um retorno de chamada a um gancho de filtro. Quando o filtro é aplicado posteriormente, cada retorno de chamada vinculado é executado em ordem de prioridade e recebe a oportunidade de modificar um valor retornando um novo valor.

  • Ações são aquelas funções PHP que executam a saída.
  • Filtros são aquelas funções PHP que retornam a saída.

Podemos estender qualquer plugin que use as ações e filtros sem modificar seu código. Adicionando filtros e ações em nosso próprio tema ou plugin. Vamos falar mais sobre como eles funcionam no WordPress.

Então, o que exatamente é um “gancho” no WordPress?

Os ganchos são uma maneira de um pedaço de código interagir/modificar outro pedaço de código em pontos específicos e pré-definidos. Eles formam a base de como os plugins e temas interagem com o WordPress Core, mas também são usados ​​extensivamente pelo próprio WordPress Core.

Existem dois tipos de ganchos: Ações e Filtros. Para usar qualquer um, você precisa escrever uma função personalizada conhecida como “ Callback ” e, em seguida, registrá-la com um gancho do WordPress para uma ação ou filtro específico. Fonte: WordPress.org .

Qual é a diferença entre ganchos, filtros e ações?

Como mencionado acima, “ganchos” é basicamente o nome coletivo para filtros e ações. Ambos destinam-se a alterar o comportamento normal das funções.

Falando de um ponto de vista programático, não há grande diferença, como você pode ver pelo fato de que no código-fonte do WordPress adicionar uma “ação” é o mesmo que adicionar um “filtro”.

A diferença está em como eles são usados. Você usa uma “ação” para mudar completamente o comportamento de uma função ou para adicionar algo a uma função existente.

Você usa um “filtro” para alterar o resultado de uma função ou variável.

Qual é a diferença entre do_action e add_action no WordPress?

Um “do_action” registra um “gancho de ação” enquanto “add_action” adiciona uma função de retorno de chamada ao gancho registrado.

Qual é a diferença entre ganchos de ação e ganchos de filtro?

Ganchos de ação

“Ações Hooks” são destinados para uso quando o núcleo do WordPress ou algum plugin ou tema está dando a você a oportunidade de inserir seu código em um determinado ponto dentro do deles para executar uma tarefa ou “ação” específica.

Ganchos de filtro

Os “ganchos de filtro” se comportam de maneira muito semelhante aos “ganchos de ação”, mas seu uso pretendido é receber um valor e potencialmente retornar uma versão modificada do valor.

Um “Filter Hook” também pode ser usado como um “Action Hook”, ou seja, para modificar uma variável global ou gerar algum HTML, assumindo que é isso que você precisa fazer quando o hook é chamado.

O que os filtros fazem no WordPress?

Um “filtro” pega a informação que recebe, modifica-a e devolve-a. Em outras palavras, ele filtra algo e o devolve ao gancho para uso posterior.

Portanto, um filtro é usado para modificar algo de uma maneira específica para que a modificação seja usada pelo código posteriormente.

O que as ações fazem no WordPress?

Uma “ação” pega as informações que recebe, executa quaisquer instruções que sejam dadas em sua codificação e não retorna nada. Basicamente, ele age em algo e depois sai, não retornando nada de volta ao gancho de chamada.

Uma ação interrompe o fluxo de código para fazer algo e, em seguida, retorna ao fluxo normal sem modificar nada.

Assim, onde “filtros” são conjuntos de parâmetros ou instruções, “ações” são a execução de instruções.

Posso usar um add_action antes de add_filter ao ajustar um plugin do WordPress?

Basicamente, não importa qual a ordem que você usa add_action() e add_filter().

O que importa é a ordem em que os correspondentes do_action() e apply_filters() são chamados.

Então, se “apply_filters”, por exemplo, ('wp_insert_post_data') for executado antes de “do_action”('save_post'), então não vai funcionar. Você terá que pensar em outra maneira de obter os resultados que procura.

Então, qual é a diferença real entre os ganchos add_filter e os ganchos add_action no WordPress?

Na realidade, “Filter Hooks” são praticamente um superconjunto de “Action Hooks”. Os “ganchos de filtro” podem fazer qualquer coisa que os “ganchos de ação” podem e um pouco mais. Embora o desenvolvedor não tenha a responsabilidade de retornar um valor com um “Action Hook” que eles fazem com um “Filter Hook”.

Os “ganchos de filtro” basicamente definem os parâmetros de uma tarefa, enquanto os “ganchos de ação” executam tarefas. Para obter mais informações sobre as diferenças entre os ganchos “add_filter” e os ganchos “add_action”, confira esta documentação oficial do WordPress na seção do desenvolvedor no WordPress.org.