O que é: Filtro

No desenvolvimento do WordPress, um filtro pode ser usado para alterar ou estender a funcionalidade do WordPress. Ele faz isso pegando alguns dados fornecidos pelo WordPress, alterando-os para outra coisa e, em seguida, passando-os de volta.

Filtros são um dos grandes recursos que tornam o WordPress tão personalizável. São trechos de código PHP que são 'conectados' a um evento do WordPress. Quando o evento é acionado, o filtro será aplicado aos dados de saída gerados pelo hook do evento.

Eles são amplamente utilizados por desenvolvedores de plugins e temas. No entanto, se você não é um desenvolvedor, pode colar snippets de código da web para adicionar novos recursos ao seu site. Muitos deles incluem filtros.

O Que É um Filtro no WordPress?

O que é um Filtro no WordPress?

Um filtro modificará o comportamento padrão de uma função específica em seu site WordPress. Ele faz isso manipulando os dados que recebe e, em seguida, retornando esses dados ao WordPress antes que sejam exibidos no navegador.

Por exemplo, filtros podem ser usados para truncar texto, alterar a formatação do conteúdo, anexar links a posts, modificar blocos em uma página e alterar opções recuperadas do banco de dados. Eles também podem alterar o comprimento de um resumo, colocar posts relacionados abaixo do seu conteúdo principal ou alterar um preço no WooCommerce.

Filtros são adicionados usando a função add_filter(). O WordPress tem várias funções que permitem usar ações, mas estas são as mais comumente usadas:

  • add_filter(): anexa uma função a um hook
  • remove_filter(): remove uma função anexada a um hook de filtro especificado
  • doing_filter(): isso detecta qualquer filtro que esteja sendo executado no momento
  • has_filter(): verifica se um filtro foi registrado

Os filtros são usados por desenvolvedores de plugins e temas para adicionar funcionalidades extras ao WordPress. Você também pode usar filtros para personalizar seu tema adicionando trechos de código de tutoriais online.

Note: If you’re a beginner, then we strongly caution against editing any WordPress files. Only experienced users who feel comfortable with editing the functions.php file and have some knowledge of PHP should try this.

Iniciantes devem usar um plugin para realizar a tarefa que desejam executar ou consultar um profissional para editar o código para eles.

Antes de editar qualquer código em seu site WordPress, recomendamos que você faça backup do seu site em caso de erro de codificação. Se você não tiver um plugin de backup, certifique-se de ler nosso artigo onde comparamos os melhores plugins de backup do WordPress.

Também recomendamos que você não adicione o código diretamente aos arquivos do tema, ou você perderá suas personalizações na próxima vez que atualizar o tema.

Em vez disso, você deve usar um plugin de trechos de código para adicionar código personalizado no WordPress, criar um plugin específico para o site, ou criar um tema filho e modificá-lo em vez do tema pai.

Veja nosso guia sobre como atualizar um tema WordPress sem perder personalizações.

Qual a Diferença entre Hooks, Ações e Filtros?

Para entender melhor os filtros no WordPress, é útil ver como eles se relacionam com outros dois termos, hooks e ações. Compreender esses três termos juntos tornará o termo ‘filtro’ um pouco mais fácil de entender.

Hooks são a base do desenvolvimento de plugins e temas do WordPress. São locais onde os desenvolvedores podem ‘enganchar’ seu código personalizado no WordPress em locais específicos e alterar como o WordPress opera sem editar arquivos principais.

Existem dois tipos de hooks.

  • Hooks de filtro permitem que você altere algo. Eles interceptam dados que estão sendo processados e permitem que você os modifique, e então os devolvem. Eles são usados para filtrar a saída quando ela é enviada para um banco de dados ou para o navegador de um usuário.
  • Os ganchos de Ação permitem que você faça algo. Eles permitem adicionar funcionalidade extra e são executados quando eventos como a ativação de um tema ou plugin, ou quando uma postagem é publicada. Uma vez que a ação foi realizada, eles não precisam retornar nenhuma informação.

Esses ganchos de ação e filtro são a base de como o núcleo do WordPress, temas e plugins funcionam. Eles trabalham juntos para permitir que os desenvolvedores tenham grande flexibilidade para modificar eventos, filtros e ações padrão do WordPress.

Os desenvolvedores também podem criar suas próprias ações e filtros personalizados para que outros desenvolvedores possam estender seus plugins ou temas.

Exemplos de Filtros do WordPress

Como é um filtro? Aqui estão alguns exemplos.

Vamos dizer que queremos exibir um ícone de imagem quando uma postagem pertence a uma categoria específica é exibida. Neste cenário, criamos uma função que verifica se uma postagem está naquela categoria específica. Se estiver, então exibimos a imagem.

Em seguida, conectamos essa função ao evento the_content. Agora, sempre que o evento the_content ocorrer, nossa função será acionada automaticamente para filtrar a saída do evento the_content.

// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
 
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
    if ( in_category('news') )
        $content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
 
    // Returns the content.
    return $content;
}

Aqui está outro exemplo de uso de um filtro do WordPress.

Este código de exemplo adiciona uma função wpb_custom_excerpt ao filtro get_the_excerpt.

function wpb_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpb_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );

Você pode aprender mais estudando nossos guias do WordPress que usam filtros. Por exemplo, aqui estão alguns guias que mostram como realizar algo prático usando filtros do WordPress:

O WordPress possui muitos filtros predefinidos que permitem aos desenvolvedores adicionar seu próprio código em pontos específicos do núcleo do WordPress. A API de Plugins do WordPress fornece uma extensa lista de ganchos de filtro que estão disponíveis.

Esperamos que este artigo tenha ajudado você a aprender mais sobre filtros no WordPress. Você também pode consultar nossa lista de Leitura Adicional abaixo para artigos relacionados sobre dicas, truques e ideias úteis do WordPress.

Se você gostou deste guia, considere se inscrever em nosso Canal do YouTube para tutoriais em vídeo sobre WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Leitura Adicional

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!