Blog do MX Cursos

Entendendo e utilizando filters ( Filtros ) no WordPress

Avaliar post

Um dos grandes atrativos em adotar o WordPress é possibilidade de customizar  informações ou execução de ações sem precisar mexer no código que você definiu, oferecendo uma liberdade para quem for utilizá-lo, implementando assim suas opções.

Muitas vezes você precisa definir valores padrões e que possam ser personalizados como valores de atributos e textos em partes do seu tema ou plugin.

Um recurso bem interessante do WordPress são os filters, que permitem que você consiga definir valores que podem ser alterados.

Eles são semelhantes aos actions (ganchos), mas a diferença entre os dois é que as actions servem para executar ações personalizadas e os filters para alterar valores predefinidos. Se deseja aprender mais sobre as actions, você pode ler este artigo aqui do blog.

Para definir um filter, você  utilizará função apply_filters. Você definirá o nome do filtro a ser chamado, o valor padrão, e parâmetros opcionais.

E para utilizar o filter (filtro), você utilizará a função add_filter. Você definirá em qual filtro você irá executar a função, o nome da função, a prioridade de execução (opcional) e quantidade de parâmetros que terá essa função (opcional).

Veremos na prática

Você está criando um tema voltado para catalogo online. Nesse catalogo, você define um link onde informa um texto ” Veja o produto”.

Você quer dar opção pra quem for usar o tema como tema filho, por exemplo, para que o usuário possa alterar esse texto, – pois a pessoa pode utilizar de outra forma.  Ao invés de Veja o produto, “Veja o Catalogo” ou até mesmo outros nomes.

Então, vamos criar filtro em cima de disso.

Pronto, aplicamos o filtro, demos o nome dele de the_link_catalog, e definimos um valor padrão, que é “Veja o Produto”.

Para realizar essa alteração, basta adicionar no functions.php do tema filho, o add_filter.

Criamos uma função onde retornamos o nome que desejamos que seja impresso e depois no add_filter informando em qual filtro queremos aplicar a função e o nome da função que será chamada.

Vamos agora pensar que ao invés de apenas dar opção do cliente mudar o texto do link, mas também mudar o link inteiro. Mas pra isso precisamos passar mais informações, como por exemplo saber o post que pertence aquele link.

Fizemos da mesma forma, só que agora o valor padrão é o próprio link e passamos o ID do post como opção, caso deseja saber de quem aquele link pertence.

Agora, no tema filho, quero ao invés de mostrar “Veja Produto”, mostrar o nome do produto e adicionar uma classe css pra identificar e criar uma personalização a mais desse tema filho.

Criamos uma função e passamos dois parâmetros: um que seria para o link e outro que seria pra o id do post.  Dentro da função, como o id do post, refizemos o link passando para onde será redirecionado e no nome do post adicionamos classes como atributo para o link.

Depois usamos o add_filter passando o nome do filtro que queremos usar e depois a função que tem modificação. Passamos ainda a ordem de prioridade que será chamada a função e quantidade de parâmetros que ela tem.

Dessa forma você consegue dar mais opções para quem for utilizar seus temas e plugins.

Espero que tenham gostado.

Um abraço e até a próxima.

 

David CHC

David CHC

Trabalha com desenvolvimento web há 10 anos, atuou como programador líder do MX Cursos por mais de 8 anos e hoje dedica-se exclusivamente à criação de cursos para a plataforma. Possui vasto conhecimento em PHP, Javascript, HTML5, CSS3, Gulp.js, GIT, MySQL

Your Header Sidebar area is currently empty. Hurry up and add some widgets.

Newsletter

Newsletter

Receba em seu e-mail conteúdos semanais sobre desenvolvimento, design, audiovisual e tecnlogia.

Inscrição realizada com sucesso!