Início » Blog » Hooks no WordPress: Actions e Filters – Parte 1

Créditos:
Fonte do vídeo

Josué Mota

Josué Mota é o idealizador e autor do Lima Mota, um portal dedicado à tecnologia, ao marketing digital, ao WordPress, ao SEO e às soluções inovadoras para o ambiente digital. Apaixonado por conhecimento, inovação e empreendedorismo, compartilha conteúdos, dicas e informações que ajudam pessoas e empresas a explorar melhor as oportunidades da internet.

Com interesse em estratégias de presença digital, criação de sites, Google Ads, ferramentas tecnológicas e produção de conteúdo, Josué busca apresentar informações úteis, práticas e acessíveis para quem deseja aprender, evoluir e alcançar melhores resultados no mundo digital.

Veja todas as postagens

37 comentários

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

  • Muito bom Felipe! Ótima proposta e conteúdo muito relevante!

    Sou desenvolvedor há alguns anos, e há alguns anos, lido com o WordPress diariamente. Como trabalho em grandes projetos, aprendi muito de WordPress fazendo e vendo código pronto, seja dentro ou fora do mesmo.
    A grande questão aqui, é que realmente vale muito a pena parar para re(ver) alguns conceitos que são básicos ou não. Pois isso, elucida muito e contribui para uma nova percepção da ferramenta.

    Parabéns pelas postagens! Siga com o seu canal, pois ele atinge muito bem o objetivo proposto. Com o tempo ele crescerá e terá o reconhecimento devido. Enquanto isso, colaborarei divulgando-o também.

    Grande abraço!

  • um ótimo assunto. Não quer fazer uma versão deste vídeo em inglês e mandar para os desenvolvedores de temas premium não, tipo o desenvolvedor do BeTheme por exemplo? kkkkkk
    Não sei se a parte dois já está pronta e nem quantas partes terá, mas eu tenho uma dúvida que talvez você aborde mais para frente na série, mas vou deixar aqui a dúvida para uma possível ideia. Em actions e filtros de plugins, como a prioridade deles são tratadas? Se um plugin tem uma função fazendo a mesma coisa que outra função de um outro plugin, quem terá a prioridade neste caso?

    Explico melhor o porque da dúvida: No tema pai existe um filter/action aplicado nele, já no tema filho que vem "depois" podemos facilmente sobrescrevê-los por sua ordem hierarquia de leitura. Exceto no caso do arquivo functions.php do tema filho que é lido primeiro que o do tema pai. Mas por padrão um vem depois do outro e entendo facilmente como uma coisa pode sobrescrever a outra.

    Porém nos plugins, qual plugin é lido primeiro e tem a maior prioridade? Pois no caso dos plugins você pode precisar de um outro plugin sobrescrever funcionalidades do plugin principal, como é o caso do woocommerce, que existem milhares de plugins alterando e adicionando coisas novas no plugin principal? No caso de duas funções tentarem fazer a mesma coisa passando pelo mesmo filtro, quem ganha a disputa.

    Eu tenho uma ideia de como isso é feito, mas não sei se minha ideia está correta.
    Pode falar, compliquei sua vida né.

    Depois de uma pergunta cabeludinha dessas nada mais justo do que expor minha ideai, mesmo que errada aqui.
    define( ''MODO_PASSAR_VERGONHA', TRUE );

    Eu acho que o WP registra todos os filtros (Como eu não sei), organiza eles pela ordem de prioridade e os executa com base nesta ordem. Porém quando a prioridade é igual ou padrão/não declarada ele executa quem veio primeiro em ordem de hierarquia 1 = plugins, 2 = tema pai e 3 = tema filho.

    Mas quanto a hierarquia de plugins, ele executa o plugin em ordem alfabética, por tanto, o plugin com um nome de askimet será lido primeiro que um plugin chamado wp-filter-spam, sendo assim quando a prioridade é igual ou nula quem terá a prioridade neste caso seria o wp-filter-sapm por vir depois na ordem alfabética.
    To certo ou viajei pra indonésia nessa minha ideia?

  • Fala Felipe. Excelente conteúdo!

    Me tira uma duvida…

    Eu preciso de 3 loops na minha página de índice principal para um tema de portal de notícias, cada loop será baseado em uma categoria e precisará pegar apenas a última postagem dessa categoria.

    Esta funcionando tudo certinho, mas só estou me perguntando se é a melhor maneira certa de fazer isso. (tendo em vista questão de performance, manutenção e etc) Existe uma maneira melhor, tipo criar apenas uma consulta com condicional ou algo assim em vez de criar vários loops diferentes? Já que eu to criando outros loops só pra alterar o id da categoria, rsrs. Abaixo um exemplo do código.

    “`
    // Loop 1
    $args = array(

    'posts_per_page' => 1,

    'category__in' => 33
    (alterado apenas aqui)
    );

    $the_query = new WP_Query( $args );

    if( $the_query->have_posts() ):

    while( $the_query->have_posts() ): $the_query->the_post();

    get_template_part( 'template-parts/content', 'about-category' );

    endwhile;

    else :

    _e( 'Desculpa, nenhum post encontrado aqui.' );

    endif;

    wp_reset_postdata();
    “`

    // Loop 2
    “`
    $args = array(

    'posts_per_page' => 1,

    'category__in' => 142
    (alterado apenas aqui)
    );

    $the_query = new WP_Query( $args );

    if( $the_query->have_posts() ):

    while( $the_query->have_posts() ): $the_query->the_post();

    get_template_part( 'template-parts/content', 'about-category' );

    endwhile;

    else :

    _e( 'Desculpa, nenhum post encontrado aqui.' );

    endif;

    wp_reset_postdata();“`

  • Achei muito bom, mas eu não programo muito bem, vc pode me ajudar? Tenho o Plugin Insert Headers and Footers instalado em meu WP, porém existem códigos q eu add ali que eu não quero q seja add em todas as páginas do meu site, tenho uma página específica onde eu não quero q exiba nenhum dos códigos colocados no plugin e não sei como fazer isso, o q sei é q tenho q usar o filtro (disable_ihaf_header) e retornar um valor verdadeiro para ele, como eu faço isso?

  • Olá, Felipe. E se eu quiser modificar o texto do botão de pesquisa que fica no rodapé do tema "Twenty Twenty One". Eu aplico um filtro, certo? Como eu poderia fazer? Estou com dificuldade de aplicar filtros e actions no tema (frontend).

  • Cara este vídeo realmente foi o melhor que já assisti sobre o assunto. Caí aqui de paraquedas e gostei muito, pois estou procurando justamente algo que eu possa executar através de algum filtro ou ação para validar CPF, não estou me referindo a máscara e sim à validação real (cálculo) para saber se o CPF é realmente válido ou não. já apliquei isso em um projeto com codeigniter, más com wordpress não estou conseguindo. Uso o form do elementor. Caso você puder fazer um vídeo ou escrever um filtro desse tipo eu e muitos outros que customizam sites com wordpress ficaremos muito agradecidos. Fora a inscrição e os likes em seus vídeos. Parabéns pelo conteúdo e pela didática.

  • Olá Felipe. Muito bom seu conteúdo. Sabe me dizer como resolver esse aviso do WordPress? Warning: call_user_func_array() expects parameter 1 to be a valid callback, function '_disable_block_editor_for_navigation_post_type' not found or invalid function name in /home/storage/0/4d/2c/institutoir2/public_html/wp-includes/class-wp-hook.php on line 307

  • Estou começando agora na programação web e tenho uns trabalhos com wordpress, graças a esse vídeo consegui entender bem sobre actions e filtros, você é realmente muito bom no que faz, espero que ainda leia os comentários.

SSD Kingston NV3 1TB M.2 2280 PCIe 4.0 NVMe 6000 MB/s

Patrocinado