Guia definitivo para postagem e filtragem de páginas do WordPress
Publicados: 2017-07-13Se você já fez compras na Amazon, é provável que já aprecie o poder dos filtros para se aprofundar em um grande corpo de conteúdo e localizar exatamente o que procura. Ao pesquisar um produto na Amazon há sempre uma barra lateral cheia de filtros que ajudam a refinar sua pesquisa, retornando apenas os resultados que atendem aos seus requisitos mais importantes. Filtros como avaliação do cliente, marca, se o produto é para homens ou mulheres, condição (novo / usado) e muitos mais.
Dada a utilidade dos filtros de conteúdo, provavelmente não é nenhuma surpresa que a capacidade de criá-los para o seu conteúdo do WordPress esteja incorporada ao WordPress Core. E com um pouco de know-how, você pode levar esse poder aos visitantes do seu site - permitindo que eles naveguem no seu conteúdo com mais agilidade do que nunca.
Neste post, vamos guiá-lo pelo processo de criação de opções de filtragem de conteúdo para seus usuários com um plugin.
Vamos começar!
Por que postagem e filtragem de páginas do WordPress?
WordPress é incrivelmente flexível. O núcleo permite que você tenha controle total sobre tudo em seu site. A filtragem de postagem e página é um dos recursos mais poderosos do WordPress. Existem várias funções integradas para postagens, páginas e conteúdo personalizado. Além disso, existem muitas maneiras de selecionar, agrupar e filtrar itens armazenados no banco de dados. Você pode criar listas classificáveis de resultados de pesquisa por modelo de página, tipos de postagem, termos de taxonomia, hierarquia de modelo, páginas de produto ou qualquer outra coisa que desejar.
Por padrão, o WordPress vem com uma função de pesquisa embutida. No entanto, essa função de pesquisa deixa muito a desejar e não ajuda quando seus leitores desejam filtrar os resultados de uma determinada maneira. É aí que a ajuda de um plug-in de terceiros entra em jogo.
O que faz o Search & Filter Plugin?
O plugin Search & Filter é um plugin fácil de usar que leva a caixa de pesquisa padrão do WordPress para o próximo nível. Ele permite que seus visitantes pesquisem um termo específico e filtrem os resultados com base em categorias, tags, tipos de postagem personalizados, taxonomias personalizadas, intervalo de datas ou até mesmo uma combinação de todos eles para uma pesquisa mais refinada e resultados mais precisos.
Usar o plugin é muito simples. Depois de instalar e ativar o plug-in, você será levado à página de configurações com uma explicação detalhada de como usá-lo. Em suma, você pode usar um código de acesso em qualquer lugar em suas postagens, páginas ou qualquer barra lateral widgetized. Alternativamente, se você estiver se sentindo corajoso e não se importar em sujar as mãos com um pequeno código, você pode colar uma única linha de código em seu arquivo de tema.
Vamos dar uma olhada em alguns exemplos.
Como filtrar postagens com pesquisa e filtro
O uso mais básico do plugin é o shortcode que permite aos visitantes pesquisar todas as suas categorias e tags. O código de acesso padrão é parecido com este:
[searchandfilter fields="search,category,post_tag"]
Você pode inseri-lo em qualquer postagem, página ou widget de texto e ele exibirá as opções de filtragem com campos de pesquisa, categoria e tags no front end:

Se quiser permitir que os visitantes selecionem mais de uma categoria ou tag, você pode fazer isso facilmente modificando o código de acesso para incluir caixas de seleção em vez de uma lista suspensa e rotulando cada campo:
[searchandfilter headings="Select categories:" types="checkbox" fields="category"]

Os exemplos acima mostram como usar o plugin na barra lateral. No entanto, você também pode usá-lo em seu arquivo de tema para exibi-lo em qualquer página. No exemplo abaixo, o formulário é exibido na página do blog. Tudo que você precisa fazer é colar a seguinte linha de código:
<?php echo do_shortcode('[searchandfilter fields="search,category,post_tag"]'); ?>Em nosso caso, nós o adicionamos ao modelo de índice principal do tema Twenty Seventeen.

Como filtrar taxonomias personalizadas?
Os exemplos acima mostram um uso muito básico do plugin. Porém, o plugin Search & Filter aceita outros parâmetros também. Você pode usar um código de acesso que permite aos visitantes filtrar os resultados da pesquisa apenas para taxonomias personalizadas.
Digamos que você tenha uma loja em seu site com WooCommerce. Se quiser incluir categorias de produtos nos resultados da pesquisa, tudo o que você precisa fazer é adicionar o seguinte código de acesso:
[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]
Neste exemplo, também adicionei títulos antes de cada campo para que os visitantes tenham mais facilidade em distinguir entre os campos:

Se você quiser exibir isso em uma página de seu tema, tudo o que você precisa fazer é colar a seguinte linha de código no modelo de página apropriado em Aparência> Temas> Editor :
<?php echo do_shortcode('[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]'); ?>Como filtrar postagens por intervalo de datas?
Outro caso de uso é se você deseja permitir que seus visitantes pesquisem por postagens em uma categoria específica dentro de um determinado intervalo de datas. Nesse caso, basta colar a seguinte linha de código em seu archive.php :
<?php echo do_shortcode('[searchandfilter fields="search,post_date" types=",daterange" headings=",Post Date"]'); ?>
Como filtrar formatos de postagem e páginas?
No exemplo final, vamos dar uma olhada na filtragem de formatos de postagem e páginas. Se você publicar postagens de vídeo ou áudio, este código curto permitirá que os visitantes apenas encontrem postagens que pertençam ao formato de postagem que você especificar:

[searchandfilter fields="search,post_format" types=",select" headings=",Post Format" submit_label="Filter"]
Se você deseja que os visitantes filtrem páginas ou postagens, tudo o que você precisa é um shortcode que aceita tipos de postagem como parâmetros:
[searchandfilter fields="search,post_types" post_types="post,page" headings=",Post Types"]

Além dos exemplos acima, o plugin permite que você seja ainda mais específico, incluindo parâmetros para ordenar os resultados em ordem hierárquica, para mostrar a contagem de postagens em categorias especificadas, adicionar classes, filtrar autores e muito mais.
Como filtrar postagens manualmente
Como com qualquer coisa relacionada ao WordPress, existe uma maneira de fazer isso sem o uso de um plugin. Digamos que você queira criar um formulário simples que permita aos visitantes filtrar as postagens de uma determinada categoria.
Primeiro, você precisa criar um formulário simples:
<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" id="filter">
<?php
if( $terms = get_terms( 'category', 'orderby=name' ) ) :
echo '<select name="categoryfilter"><option>Select category...</option>';
foreach ( $terms as $term ) :
echo '<option value="' . $term->term_id . '">' . $term->name . '</option>';
endforeach;
echo '</select>';
endif;
?>
<label>
<input type="radio" name="date" value="ASC" /> Date: Ascending
</label>
<label>
<input type="radio" name="date" value="DESC" selected="selected" /> Date: Descending
</label>
<button>Apply filters</button>
<input type="hidden" name="action" value="customfilter">
</form>
<div id="response"></div>
No formulário acima, a primeira parte simplesmente permite que o usuário selecione as taxonomias usando a função get_terms . Você pode usar isso para categorias e tags padrão, bem como taxonomias personalizadas. A próxima parte adiciona os botões de opção que permitem aos visitantes exibir os resultados em ordem crescente ou decrescente. Por fim, a última parte é o botão do formulário que permite aplicar os filtros selecionados.
O formulário inteiro foi adicionado ao template sidebar.php em Appearance> Themes> Editor .
A próxima etapa é usar o jQuery para que os resultados possam ser exibidos sem a necessidade de recarregar a página:
jQuery(function($){
$('#filter').submit(function(){
var filter = $('#filter');
$.ajax({
url:filter.attr('action'),
data:filter.serialize(), // form data
type:filter.attr('method'), // POST
beforeSend:function(xhr){
filter.find('button').text('Applying Filters...'); },
success:function(data){
filter.find('button').text('Apply filters'); $('#response').html(data);
}
});
return false;
});
});
A última parte do código é adicionar uma função ao arquivo function.php que processará o resultado com base nos filtros selecionados. Ele examinará a categoria selecionada e, enquanto houver postagens, as exibirá pela data em que foram postadas em ordem crescente ou decrescente. Se nenhuma postagem for encontrada na categoria, será exibida a mensagem nenhuma postagem foi encontrada:
function my_filters(){
$args = array(
'orderby' => 'date',
'order' => $_POST['date']
);
if( isset( $_POST['categoryfilter'] ) )
$args['tax_query'] = array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => $_POST['categoryfilter']
)
);
$query = new WP_Query( $args );
if( $query->have_posts() ) :
while( $query->have_posts() ): $query->the_post();
echo '<h2>' . $query->post->post_title . '</h2>';
endwhile;
wp_reset_postdata();
else :
echo 'No posts found';
endif;
die();
}
add_action('wp_ajax_customfilter', 'my_filters');
add_action('wp_ajax_nopriv_customfilter', 'my_filters');
O resultado final exibe como este o front-end:

Por que você deve permitir que seus leitores filtrem postagens e páginas no WordPress
Os métodos acima são uma ótima maneira de permitir que os usuários filtrem suas postagens. Mas porque você iria querer fazer aquilo?
O WordPress já permite que você organize suas postagens com categorias e tags, mas só permite que os usuários visualizem uma única categoria ou tag de cada vez. Além disso, se você usar tipos de postagem personalizados que usam suas próprias categorias, essas categorias não ficarão visíveis junto com aquelas usadas para postagens regulares.
O plugin Search & Filter é especialmente útil não apenas quando você tem muitas categorias e tags diferentes combinadas com um ano de conteúdo, mas também é útil se você adicionou tipos de postagem personalizados como portfólio, galeria, depoimento e muito mais.
Outro exemplo é que seus visitantes podem facilmente usar este plugin para filtrar seus produtos e encontrar o que procuram. E se você estiver familiarizado com o código, fazê-lo manualmente permite ter ainda mais controle sobre a forma como os resultados da pesquisa são exibidos e quais parâmetros são usados.
Empacotando
Garantir que seu site seja fácil de usar, permitindo que seus visitantes encontrem rapidamente o conteúdo que você deseja, é uma ótima maneira de fornecer a eles uma experiência de usuário agradável e de incentivá-los a voltar. Se o seu site for rico em conteúdo, considere a implementação de filtragem de página e postagem para garantir que eles obtenham o conteúdo que desejam ver mais.
Adoraríamos ouvir sua experiência com a pesquisa e filtragem do WordPress. Deixe-nos saber nos comentários abaixo.
Imagem em miniatura do artigo por graphicglobe / shutterstock.com
