Já abordamos muitos tópicos sobre desenvolvimento de software com o WordPress e, durante essas sessões, você certamente já ouviu falar sobre filtros e ações.

Essa é uma parte essencial da arquitetura do WordPress. E você tem a oportunidade de criar novos para atender às suas necessidades.

Em uma palavra, uma arquitetura " evento É uma técnica que permite ouvir a ocorrência de um evento e agir de acordo com o evento em questão ou sobre outro aspecto. Sua reação, o que você está escrevendo, é como você pode criar a funcionalidade que deseja, para estender a funcionalidade do WordPress.

Aqui está um exemplo muito simples, postar uma postagem do WordPress é um evento de exemplo (publish_post) que modifica um estado.

Esta é a base para a extensibilidade do WordPress, o que o torna um dos ecossistemas CMS mais ricos e prósperos, com milhares de temas e plug-ins igualmente ricos em recursos.

Há outra razão fundamental pela qual o uso de colchetes é tão importante. Usando colchetes, você pode estender e construir no WordPress sem modificar o código-fonte do WordPress.

De fato, deixe-me reformular essa afirmação.

Se alguém que está contratando você (ou você está contratando) para um trabalho no WordPress sugere que você altere o código-fonte do WordPress, pare tudo no lugar.

Qualquer pessoa que esteja disposta a quebrar a escalabilidade do seu site WordPress não tem idéia do que está falando. Se essas pessoas se importassem com a segurança, nem teriam pensado nisso.

Já falamos antes. A atualização do WordPress (incluindo por seus temas e plugins) para a versão mais recente disponível é um dos fundamentos da segurança do WordPress. Os desenvolvedores que modificarem o código-fonte do seu site o deixarão por certamente ter quebrado o ciclo de atualização do WordPress (se eles não fizerem suas modificações serão substituídos na próxima atualização).

Por outro lado, se você usa hooks e todas as outras opções de extensibilidade que o WordPress disponibiliza para você, a escalabilidade do seu blog WordPress será assegurado.

compartilhar e filtro-wordpress

Ganchos, ações ou filtros? O que isso significa ?

Ganchos são basicamente eventos que ocorrem durante a execução de qualquer funcionalidade, tema ou plug-in do WordPress.

Mas por que eles são realmente chamados ganchos?

Os desenvolvedores que desejam estender ou implementar recursos específicos podem "esperarPara eventos assim que eles são acionados.

Conforme o WordPress passa por suas fases de execução, ele verifica se um plugin (ou tema) registrou uma função a ser executada naquele momento; se uma função for encontrada, ela será executada nesse momento.

O WordPress Codex, como parte da documentação API WordPress, explica Ganchos, Ações e Filtros corretamente, Ainda irei fornecer alguns detalhes úteis:

Existem dois principais tipos de ganchos:

  • ações (ou mesmo "ganchos de ação")
  • filtros (ou até mesmo "Filtro de ganchos")

Na realidade, eles são bastante semelhantes em sua capacidade de alcançar, mas existem algumas diferenças sutis.

A diferença entre ações e filtros

Vamos começar com as semelhanças antes de falar sobre as diferenças:

  • Ações e filtros recebem dados através de vários parâmetros.
  • As ações e os filtros também são, na maioria das vezes, capazes de fazer a mesma coisa (se você der uma olhada no código fonte do WordPress, verá que as funções implementadas para as ações são apenas envelopes de funções de filtro).

Há, no entanto, uma diferença essencial entre estes dois tipos de ganchos WordPress.

Os filtros são necessários para retornar um valor, as ações não o fazem.

Em essência, com um filtro, a função " curvo Obtém um valor específico como parâmetro, executa seu trabalho e retorna uma versão modificada (ou não) desse valor.

Uma ação não precisa retornar um valor.

Em termos mais práticos, com um filtro, você normalmente trabalhará no conteúdo, fará sua modificações", Em seguida, devolva este conteúdo. Por exemplo, como veremos abaixo os filtros " title_save_pre Que é um filtro no título de um artigo, enquanto o content_save_pre Qual é um filtro no conteúdo de um artigo.

Por outro lado, uma "Ação" faz algo (quem pode lidar dados ou apenas use estes dados) quando ocorre um evento. A ação publish_post "Dispara quando um artigo é publicado.

Quando e como usar uma Ação

Você pode usar uma ação quando:

  • Você deseja injetar código HTML ou outro conteúdo no buffer.
  • Alterar uma ou mais variáveis ​​globais
  • Altere as configurações passadas para sua função

Veja como adicionar uma ação:

add_action ($ gancho, $ function_to_add, $ prioridade, $ accepted_args);

onde "$ hook" seria a ação que você deseja conectar, "$ function_to_add" é a função que será executada quando este gancho for disparado.

Quando e como usar um filtro

Você pode usar um filtro quando precisar fazer todas as opções acima, mas também deseja alterar uma configuração que será usada pelo WordPress.

De fato, não é apenas uma necessidade, mas um requisito. Você deve retornar um valor para o parâmetro se estiver usando um filtro.

A forma de adicionar um filtro é bastante semelhante à dos colchetes:

add_filter ($ gancho, $ function_to_add, $ prioridade, $ accepted_args);

Onde, novamente, “$ hook” seria o filtro a ser usado e “$ function_to_add” é a função que você deve escrever. Ler WordPress documentação os ganchos para mais.

Removendo um filtro ou ação

Assim como você adiciona ações e filtros, também pode excluí-los. É o oposto de adicionar ações e filtro, mas a sintaxe é muito semelhante:

remove_action ($ gancho, $ function_to_remove, $ prioridade); remove_filter ($ gancho, $ function_to_remove, $ prioridade);

Onde "$ priority" é um argumento opcional.

Em ambos "add_filter" e "remove_filter", o "$ prioirity" determina a ordem em que os ganchos são disparados. Se houver vários ganchos "encadeados", eles serão executados um após o outro.

Exemplo simples: como adicionar o código de rastreamento do Google Analytics ao WordPress

Lembre-se de que já mostramos como criar um WordPress Plugin. Agora tudo que você precisa fazer é adicionar o seguinte código em seu WordPress Plugin.

// Função Google Universal Analytics google_analytics () {?>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'GA-XXXXXX-XX', 'auto');
  ga('send', 'pageview');

É isso neste tutorial. Espero que agora você saiba como distinguir entre filtros e ações no WordPress. Se você tiver alguma dúvida, não hesite em perguntar.