Oi, pessoal,
Neste tutorial veremos como podemos filtrar os resultados de uma lista por um campo de data.
No tutorial a seguir, usaremos os seguintes plugins e modelos premium:
Arquivado personalizado avançado (ACF)
Vídeo tutorial
Inscreva-se no meu canal:
Vamos imaginar que estamos criando uma página de eventos e precisamos que uma vez finalizado o evento ele não apareça na lista do nosso site.
Algo assim:
Como eu disse, queremos que uma vez que o evento tenha passado, ele não apareça na lista.
Existem muitas soluções possíveis, a que me ocorreu é a seguinte:
- Criar um campo de data com ACF
- Filtre por esse campo os resultados no FacetWP
Criar um campo de data com ACF
Graças ao ACF podemos criar um campo de data, no meu caso criei um campo chamado Data Remover Trabalho
Quando preencho um trabalho fica assim:
Por que não usei o mesmo campo de data do trabalho?
Você pode estar se perguntando por que não usei o campo de data de desempenho.
Não fiz por dois motivos:
1º Motivo da não utilização do campo da data da realização
Porque eu também teria que levar em conta o tempo da atuação para não retirar o trabalho prematuramente.
2º Motivo
Uma obra pode ter várias datas de execução, então seria difícil para mim levar em consideração qual delas usar.
Para não enlouquecer achei melhor usar um novo campo para a data para fazer o trabalho desaparecer.
Depois de ter o campo pronto, tenho que adicionar o filtro no FacetWP
Criar filtro no FacetWP
Para isso vamos em Settings -> FacetWP e dentro do template (Templates) que estamos utilizando vamos até a aba Query e adicionamos o seguinte filtro:
No próximo filtro informamos ao FacetWP que se a data de remoção do trabalho for maior que a data atual, o resultado é filtrado, ou seja, não aparece.
Usamos NOW para que a data do filtro seja dinâmica e leve em consideração a data do momento em que a QUERY é executada.
Esta é a maneira que eu criei para criar um filtro dinâmico.
Você consegue pensar em outra maneira de fazer isso? Compartilhe com a gente 😉