Escolha uma Página

Os ganchos do WordPress são uma ferramenta útil projetada para desenvolvedores que fazem plug-ins e temas do WordPress. Na verdade, eles são tão úteis que os criadores do WordPress os utilizam em todo o núcleo do WordPress. Mas o que exatamente são ganchos do WordPress e como você os usa?

Neste guia, daremos uma olhada em como usar efetivamente os ganchos do WordPress e nos aprofundaremos nos fundamentos. Vamos mergulhar!

O que são ganchos no WordPress?

Resumindo, os ganchos do WordPress são trechos de código do WordPress que capturam e executam trechos de outras partes do código do WordPress. Essencialmente, eles permitem que os desenvolvedores percorram vários arquivos facilmente em seus temas e plug-ins.

Os ganchos do WordPress vêm embalados no núcleo do WordPress. Cada tema e plug-in também os utiliza.

Ganchos WordPress explicados

O objetivo principal dos ganchos no WordPress é permitir que os desenvolvedores mudem fundamentalmente como o sistema de gerenciamento de conteúdo opera sem alterar os arquivos principais do WordPress. Como o WordPress é de código aberto, você poderia bagunce os arquivos principais, mas há 99% de chance de você se arrepender em minutos.

Embora possa ser um pouco difícil de entender para desenvolvedores mais novos, é absolutamente crítico aprender como funcionam os ganchos do WordPress. Muitas vezes, surge a confusão por causa da terminologia que o WordPress usa. Embora a ação nos bastidores seja bastante semelhante à de muitas linguagens de programação, o palavreado é diferente. Muitas vezes, é mais fácil aprender como criar e usar primeiro seguindo os exemplos, lendo sobre eles e depois praticando.

Para escrever ganchos para WordPress, você precisa ser capaz de codificar em PHP. PHP é a linguagem subjacente para a grande maioria do WordPress. Você pode pensar nos ganchos como aberturas às quais outras funções do PHP podem se agarrar. Você também pode pensar nos ganchos do WordPress como retornos de chamada que fazem algo aos dados ou à tela antes que o usuário veja os dados.

Ganchos de WordPress

Dois tipos de ganchos para WordPress

Existem dois tipos principais de ganchos para WordPress que você precisa aprender:

  • Ganchos de ação do WordPress
  • Ganchos de filtro do WordPress

Vamos dar uma olhada nesses dois tipos de ganchos do WordPress e como eles diferem. Também exploraremos alguns exemplos de ganchos de ação e ganchos de filtro para ilustrar melhor seu uso.

A diferença entre os ganchos de ação e os ganchos de filtro do WordPress

Se você passou algum tempo revisando o códice do WordPress, provavelmente já viu esses termos usados ​​casualmente. Infelizmente, um dos pontos fracos do códice é que ele foi escrito pelos próprios desenvolvedores. Como efeito colateral, algumas distinções importantes que podem ser óbvias para eles, não são óbvias para aqueles que não estão tão familiarizados com o código principal do WordPress.

A maneira mais fácil de diferenciar entre os dois tipos de ganchos do WordPress é que os ganchos de ação não retornam valores, enquanto os ganchos de filtro retornam valores.

Para aqueles familiarizados com as linguagens de programação comuns, isso é como dizer que os ganchos de ação têm um tipo de retorno “void”, enquanto os ganchos de filtro retornam dados reais.

Os ganchos de filtro podem ser considerados como ganchos ou eventos de pré-processamento. Um gancho de filtro pode filtrar os resultados retornados de uma consulta de banco de dados para conter apenas entradas com o sobrenome “Smith”. Este gancho de filtro deve ser chamado antes a consulta de banco de dados real é chamada, informando ao WordPress com antecedência que será necessário retirar resultados irrelevantes antes de retorná-los.

Os ganchos de ação do WordPress podem ser considerados como recuperar algo por meio de código. Um exemplo comum de um gancho de ação é a inserção de um arquivo CSS adicional em uma página do site para que ela tenha uma aparência diferente. Lembre-se de que os ganchos mudam como os dados são exibidos antes mesmo de serem entregues ao usuário. Um gancho de ação fornece um novo arquivo CSS que torna a experiência do usuário melhor. Este processo não envolve a edição do núcleo do WordPress nem requer a edição da raiz principal da web do site. Dessa forma, os ganchos do WordPress podem tornar muito mais fácil, em conjunto com os plug-ins, gerenciar vários sites do WordPress.

Ganchos e filtros explicados

Agora que vimos uma visão geral mais abstrata dos ganchos e filtros do WordPress, vamos mergulhar nos detalhes mais técnicos de como eles funcionam.

Você pode pensar em um gancho do WordPress como um evento que ocorre com um nome. Um exemplo de um contido no núcleo do WordPress é chamado save_post. Com ganchos, basicamente dizemos que quando save_post é executado, queremos que nosso gancho ou filtro anexar e corra ao lado dele.

Anexamos o que chamamos de callbacks, ou funções de callback, aos ganchos no WordPress. Esta é apenas uma maneira sofisticada de dizer que estamos pedindo ao WordPress para executar o código contido nas funções que criamos quando o evento é disparado que “enganchamos” (como save_post em nosso exemplo acima).

Embora seja fácil adicionar ganchos do WordPress, como exploraremos mais tarde, lembre-se de que um callback escrito incorretamente pode arruinar completamente sua cadeia de callbacks. Se isso ocorrer, um link quebrado na cadeia de retornos de chamada pode arruinar completamente todo o seu trabalho duro! Sempre faça um backup antes de fazer alterações. Aproveite as vantagens de um plug-in de backup WordPress confiável antes de fazer qualquer alteração.

Interessado em ainda mais detalhes técnicos por trás de como funcionam os ganchos? Confira a próxima seção! Temos uma explicação mais aprofundada, bem como um tutorial sobre como criar seu primeiro gancho de ação e seu primeiro gancho de filtro!

Como funcionam os ganchos no WordPress?

Lembre-se, embora haja algumas diferenças, ganchos de ação e ganchos de filtro no WordPress podem ser vistos como basicamente os mesmos. Vamos examinar rapidamente como esses ganchos funcionam. Veremos um exemplo e um tutorial posteriormente neste artigo.

Ambos os tipos de ganchos precisam ser registrados no WordPress antes de usá-los. Isso dá ao CMS a lista de funções a serem anexadas quando há um evento executado ao qual “enganchamos” nosso código. Além disso, certifique-se de que as ações sejam registradas como ações e os filtros sejam registrados como filtros.

Ao adicionar uma ação, aproveite as vantagens da função central do WordPress add_action (). Ao adicionar filtros, use a função central do WordPress correspondente chamada add_filter (). Se seus retornos de chamada (funções acima da cadeia quando seu evento ou ação é executado) não retornam nenhum dado, você precisa registrá-lo como uma ação. Se ele retornar o que o WordPress chama de dados filtráveis, registre-o como um filtro.

Tudo o que você especifica nessas funções é executado quando o seu site é aberto por um usuário. O WordPress tem um gerador interno que reúne todas essas ações e filtros para nós. Existem também funções de remoção correspondentes para ações e filtros. Eles podem ser utilizados para eliminar uma função de sua cadeia de retorno de chamada. Eles geralmente estão contidos em declarações condicionais no PHP do WordPress.

Assim como nossas funções de adição, eles são chamados remove_action () e remove_filter ().

Como faço para criar um gancho no WordPress?

Finalmente chegou a hora de fazermos nosso primeiro gancho no WordPress! Lembre-se de que a criação de ganchos envolve a adição de código personalizado que será exibido e processado para os usuários de nosso site.

Observe que sempre que adicionamos código personalizado, adicionamos algum nível de risco de segurança. É por isso que agora seria o momento ideal para garantir que você tenha um plug-in de segurança do WordPress no qual possa confiar instalado e pronto para usar. Isso pode ajudar com a paz de espírito e amenizar quaisquer ameaças potenciais ao seu site por meio de código personalizado que pode introduzir novas vulnerabilidades.

Obtenha o conteúdo bônus: um guia para segurança do WordPress

Vamos dar uma olhada em como podemos fazer um gancho de ação muito simples no WordPress. Em seguida, veremos um exemplo de gancho de filtro no CMS.

Como faço para criar um gancho de ação no WordPress?

Para o nosso exemplo de ação, vamos fazer algo que quase todos os desenvolvedores do WordPress precisarão fazer em algum momento: ajustar o conteúdo na página de login do WordPress. A página é muito genérica.

Por exemplo, se você gerencia um site WordPress para uma instituição acadêmica, eles podem pedir que você lembre os alunos de usarem o endereço de e-mail do campus para fazer login no portal WordPress. Poderíamos adicionar um lembrete simples nas caixas “Nome de usuário” e “Senha” que diz “Lembre-se de usar seu e-mail @ myuniversity.edu como seu nome de usuário”Para reduzir as ligações para o departamento de TI pedindo ajuda para fazer login.

Isso, é claro, estaria mais alinhado com um gancho de ação ao invés de um gancho de filtro. Isso ocorre porque um ajuste simples, como editar o texto na página principal de login do usuário, não retorna nenhum dado para filtro.

Primeiro, precisamos descobrir onde exatamente enganchar nossa ação. Na maioria dos casos, olhar para o arquivo PHP onde você deseja adicionar conteúdo pode ser muito esclarecedor. Dando uma olhada no arquivo WordPress que contém o conteúdo de login, há vários gatilhos de ação. Em nosso exemplo de nosso lembrete para os alunos usarem seus e-mails institucionais, você notará o seguinte código bastante interessante no arquivo PHP da página de login:

do_action( 'login_footer' );

o do_action function é uma função central do WordPress que executa nosso gancho de ação mediante solicitação. Obviamente, isso é feito desde que tenhamos registrado todas as funções que queremos anexar a este gancho.

Nesse caso, “login_footer” é um gancho predefinido pela equipe do WordPress. Embora seja integrado, ainda podemos anexar nosso próprio código a ele. Por padrão, este gancho carrega o conteúdo do rodapé da página de login genérico. O rodapé seria um lugar ideal para o nosso texto, e é por isso que estamos aproveitando este gancho de seção da página.

Podemos adicionar uma nova função PHP ao nosso wp-login.php para começar. Tudo o que precisamos fazer é gerar uma linha de texto, assim:

function add_uni_email_reminder() 

Remember to use your @myuniversity.edu email as your username!< /p> do_action( 'login_footer', 'add_uni_email_reminder' );

Neste caso, simplesmente criamos uma nova “ação” no arquivo wp-login.php. O nome da função do gancho de ação (add_uni_email_reminder), sem os parênteses de parâmetro, pode ser adicionado à lista de parâmetros de do_action () para registrá-lo para ser executado quando o rodapé for renderizado em seguida.

Como faço para criar um gancho de filtro no WordPress?

Agora estamos indo bem! Aprendemos o básico dos ganchos do WordPress e como aproveitar seu poder. Nós até fizemos algumas modificações! A única parte importante que resta é praticar com ganchos de filtro. Lembre-se, esses são ganchos que retornam algum tipo de dados que podemos filtrar. Eles são um pouco mais complexos do que ganchos de ação, mas agora que você entende o básico dos ganchos, deve ser um pouco mais fácil.

Vamos começar com nosso gancho de filtro do WordPress. Primeiro, precisamos decidir qual filtro específico gostaríamos de adicionar. Um item que seu cliente pode solicitar é personalizar a funcionalidade de adição de página. É aqui que os usuários do WordPress podem adicionar novas postagens de blog. Para mantê-lo o mais simples possível, digamos que desejamos editar o texto “Digite o título aqui” contido na caixa de texto “Título”. Digamos que queremos torná-lo mais específico e dizer “Digite o título da postagem do blog”.

Observe que em nosso exemplo de gancho de filtro abaixo, nossa função tem um parâmetro. Além disso, a execução real de nosso filtro tem um parâmetro de “prioridade” adicional. Você também notará que a função real que usamos para registrar nosso gancho é exatamente a mesma que nosso exemplo de “ação”, add_action. A maneira como podemos dizer que esta função é um gancho de filtro em vez de um gancho de ação é que, quando realmente executada, a função executada, como podemos ver no código principal do WordPress, é apply_filters (‘enter_title_here’, __ (‘Digite o título aqui’), $ post);. Estamos aplicando filtros como o nome da função sugere fortemente.

Isso geralmente é um ponto de interrupção para usuários mais novos. É realmente apenas um pequeno problema de formulação; depois de superar isso, decifrar a diferença entre ganchos e filtros no WordPress se torna bastante simples! Sem mais despedidas, vamos mergulhar na mudança desse texto de espaço reservado!

function our_new_title_here( $title ) 

$title = __( 'Enter Blog Post Title', 'text-domain' );

return $title;



add_action( 'enter_title_here', 'our_new_title_here', 10 );

Você pode estar se perguntando o que esse “10” significa em nosso add_action função. Felizmente, você entende os dois primeiros parâmetros; o primeiro é o gancho padrão do WordPress e o segundo é o nome da função e do filtro que estamos anexando enter_title_here. O “10” é o nível de prioridade que estamos atribuindo a este filtro.

Lembre-se de que as ações e os filtros no WordPress são uma série de “retornos de chamada” em cascata ou funções personalizadas que são executadas. Eles recebem diferentes níveis de prioridade. Exploraremos o que significam os diferentes números, quais são os parâmetros aceitáveis, etc., um pouco mais tarde. No entanto, é importante entender que 10 é o nível de prioridade “normal” padrão do WordPress para filtros e ações por enquanto.

Onde os ganchos do WordPress são armazenados?

Você pode estar se perguntando onde o WordPress poderia armazenar todas essas ações e filtros. Já mencionamos o núcleo do WordPress, mas este é simplesmente o local das ações e filtros integrados e das funções em anexo para eles. Usuários experientes do WordPress provavelmente sabem que esses ganchos não são armazenados em nenhum dos bancos de dados criados quando o WordPress é instalado.

Um dos recursos mais exclusivos de ações e filtros no WordPress é que eles não são realmente “armazenados” em lugar nenhum! Depois de adicionar uma ação ou filtro, essa ação ou filtro pode ser acessado globalmente em nosso site WordPress. Se você acha que não há maneira de armazená-lo lugar algum, você está correto!

Embora a estrutura seja bastante complexa, há uma variável PHP onde todas as nossas ações e filtros são armazenados. Esta variável é global e chamada $ wp_filter. Não mexa com essa variável diretamente!

Para os interessados ​​nos detalhes técnicos, esta variável $ wp_filter é um array PHP. Ele contém uma grande série de objetos que são do tipo WP_HOOK. Dentro do arquivo PHP você pode ler wp-includes / class-wp-hook.php, há um método importante: this-> apply_filters (). Este método é o que dispara todos os nossos callbacks e “registra” nossos filtros e ganchos personalizados. É essencialmente o pão com manteiga dos ganchos do WordPress.

Para aproveitar ao máximo esse recurso incrível do WordPress, precisamos conhecer alguns dos hoooks mais comuns do WordPress. Não procure além da nossa folha de dicas abaixo!

Lista de Ganchos do WordPress: Cheatsheet dos Ganchos do WordPress

Vamos começar com uma pequena dose de realismo: não há como passarmos cada gancho único no WordPress. Felizmente, alguns pesquisadores compilaram uma lista de (literalmente) cada ação e filtro, para aqueles que estão curiosos. Você pode ver um lista completa de todos os ganchos do WordPress aqui, mas preste atenção aos avisos de segurança relacionados a cada gancho. Você não deve utilizar nenhum que esteja rotulado como “obsoleto”. Isso significa que eles podem ou não ter suporte na versão mais moderna do WordPress, mas de qualquer forma, em breve não terão mais suporte.

Com toda a probabilidade, 90% das vezes, você só estará interessado em alguns ganchos do WordPress. Aqui estão cinco das ações e filtros mais populares no WordPress, junto com uma breve explicação do que são!

  1. add_setting () – Tal como o próprio nome sugere, esta ação adiciona às suas configurações do WordPress. Provavelmente, você não desejará incluir essa ação em nenhuma página voltada para o usuário, mas pode ser um salva-vidas se você estiver modificando páginas administrativas.
  2. apply_filters () – Este parece familiar? Deveria, porque usamos antes! Isso chama imediatamente toda a nossa cadeia de retornos de chamada associados a um gancho.
  3. esc_attr () – O nome deste é uma forma abreviada de “atributos HTML de escape”. O escape de HTML significa que usamos códigos ASCII para símbolos HTML. Isso é quase universalmente usado para “higienizar a entrada” nas páginas. Em outras palavras, essa ação seria altamente desejável para anexar a uma execução de gancho quando um usuário envia um formulário. Ele evita que os usuários ataquem seu site com ataques de script entre sites em particular.
  4. o conteúdo() – O nome deste gancho provavelmente parece simples, porque é! Ele simplesmente pega o conteúdo da postagem atual que está sendo visualizada. Isso é ideal se você permitir que os usuários exportem o conteúdo de uma postagem. Por exemplo, alguns sites oferecem aos usuários Premium a capacidade de exportar qualquer artigo como um arquivo PDF.
  5. wp_nav_menu () – Abreviação de “Menu de navegação WordPress”, este gancho é um gancho de ação. Ele é utilizado para simplesmente exibir o menu de navegação principal que você cria ao criar seu site WordPress pela primeira vez. Isso é ótimo se você tiver páginas com um layout significativamente diferente e quiser exibir o menu em uma área alternativa.

Em que ordem os ganchos do WordPress são executados? O WordPress Hooks Firing Sequence

Infelizmente, a ordem exata em que os ganchos do WordPress são executados não é tão aparente quanto você pode imaginar. Isso se deve ao grande volume dos ganchos. Um pesquisador realizou uma análise avançada disso para contar o número de ganchos em execução e a ordem em que foram executados quando a página inicial de um site WordPress foi visitada.

Como se isso não fosse complexo o suficiente, alguns ganchos do WordPress possuem ganchos anexados de várias prioridades! Você pode dar uma olhada nas centenas de ganchos executados e seus pedidos neste post sobre o WordPress conecta sequência de disparo. Apenas observe: você não deve tentar executar esta análise em nada além de um servidor de teste onde você pode perder tudo!

Embora não possamos fazer muito sobre a ordem dos ganchos padrão, podemos fazer algo sobre a ordem dos ganchos que especificamos. É aqui que entra a prioridade dos ganchos. Já mencionamos isso antes.

Como funciona a prioridade nos ganchos do WordPress?

Como mencionamos, o nível de prioridade padrão atribuído a um gancho pelo WordPress é “10”. Independentemente do que você decidir tornar a prioridade, lembre-se de que o valor deve ser um número inteiro positivo. Isso significa que, infelizmente, “0” não é um valor válido. Além disso, -100 não seria válido e 0,5 não seria válido. No entanto, 1 funcionaria, assim como 1111.

Em geral, quanto menor o número inteiro, menor a prioridade. Se você quiser que um gancho seja executado após um gancho que atribuiu o valor padrão de 10, por exemplo, você pode tornar sua prioridade 9. Seu gancho de prioridade mais baixa pode receber um 1. Além disso, os ganchos do WordPress podem ser atribuídos ao mesmo prioridade. Isso se você não se importa em que ordem eles são executados.

Concluindo: Ganchos no WordPress

Um dos maiores obstáculos para novos desenvolvedores de WordPress é o quão não padronizadas muitas dessas informações podem ser. Embora você encontre muitos blogs técnicos, muitos cobrem tópicos restritos e podem ser difíceis de agregar.

A melhor maneira é começar a experimentar os ganchos de ação e filtros do WordPress em seu site. Depois de criar ganchos WordPress mais complexos, você precisará aprender os ganchos que costuma usar com mais frequência. Com o tempo, você memorizará esses ganchos. É um processo árduo e ninguém é capaz de memorizar cada um desses ganchos.

O códice do WordPress é o melhor recurso para utilizar em sua jornada para se tornar o próximo desenvolvedor de WordPress importante do mundo.

Ganchos de WordPress

Fonte