Guida definitiva al filtraggio di post e pagine di WordPress
Pubblicato: 2017-07-13Se hai mai fatto acquisti su Amazon, è probabile che apprezzi già la potenza dei filtri per approfondire un ampio corpo di contenuti e individuare esattamente ciò che stai cercando. Quando cerchi un prodotto su Amazon c'è sempre una barra laterale piena di filtri che ti aiutano a perfezionare la tua ricerca, restituendo solo i risultati che soddisfano i tuoi requisiti più importanti. Filtri come la valutazione del cliente, il marchio, se il prodotto è per uomo o donna, condizione (nuovo/usato) e molti altri.
Dato quanto siano utili i filtri per i contenuti, probabilmente non dovrebbe sorprendere che la possibilità di crearli per i tuoi contenuti WordPress sia integrata direttamente in WordPress Core. E con un po' di know-how, puoi portare quel potere ai visitatori del tuo sito, consentendo loro di navigare tra i tuoi contenuti più agilmente che mai.
In questo post, ti guideremo attraverso il processo di creazione di opzioni di filtro dei contenuti per i tuoi utenti con un plug-in.
Iniziamo!
Perché filtrare i post e le pagine di WordPress?
WordPress è incredibilmente flessibile. Il nucleo ti consente di avere il controllo completo su tutto sul tuo sito. Il filtraggio di post e pagine è una delle funzionalità più potenti di WordPress. Esistono diverse funzioni integrate per post, pagine e contenuti personalizzati. Inoltre, esistono molti modi per selezionare, raggruppare e filtrare gli elementi archiviati nel database. Puoi creare elenchi ordinabili di risultati di ricerca per modello di pagina, tipi di post, termini di tassonomia, gerarchia di modelli, pagine di prodotto o qualsiasi altra cosa desideri.
Per impostazione predefinita, WordPress è dotato di una funzione di ricerca integrata. Tuttavia, quella funzione di ricerca lascia molto a desiderare e non aiuta quando i tuoi lettori vogliono filtrare i risultati in un modo particolare. È qui che entra in gioco l'aiuto di un plugin di terze parti.
Che cosa fa il plug-in di ricerca e filtro?
Il plug-in Cerca e filtra è un plug-in facile da usare che porta la casella di ricerca predefinita di WordPress al livello successivo. Consente ai visitatori di cercare un termine particolare e filtrare i risultati in base a categorie, tag, tipi di post personalizzati, tassonomie personalizzate, intervallo di date o anche una combinazione di tutti questi elementi per una ricerca più raffinata e risultati più accurati.
Usare il plugin è semplicissimo. Dopo aver installato e attivato il plug-in, verrai indirizzato alla pagina delle impostazioni con una spiegazione dettagliata di come utilizzarlo. In poche parole, puoi utilizzare uno shortcode ovunque nei tuoi post, pagine o qualsiasi barra laterale con widget. In alternativa, se ti senti coraggioso e non ti dispiace sporcarti le mani con un po' di codice, puoi incollare una singola riga di codice nel file del tema.
Diamo un'occhiata ad alcuni esempi.
Come filtrare i post con la ricerca e il filtro
L'utilizzo più elementare del plugin è lo shortcode che consente ai visitatori di cercare in tutte le tue categorie e tag. Lo shortcode predefinito è simile a questo:
[searchandfilter fields="search,category,post_tag"]
Puoi inserirlo in qualsiasi articolo, pagina o widget di testo e visualizzerà le opzioni di filtro con i campi di ricerca, categoria e tag sul front-end:

Se desideri consentire ai visitatori di selezionare più di una categoria o un tag, puoi farlo facilmente modificando lo shortcode per includere caselle di controllo anziché un menu a discesa ed etichettando ciascun campo:
[searchandfilter headings="Select categories:" types="checkbox" fields="category"]

Gli esempi sopra mostrano come utilizzare il plugin nella barra laterale. Tuttavia, puoi anche utilizzarlo all'interno del file del tema per visualizzarlo su qualsiasi pagina. Nell'esempio seguente, il modulo viene visualizzato nella pagina del blog. Tutto quello che devi fare è incollare la seguente riga di codice:
<?php echo do_shortcode('[searchandfilter fields="search,category,post_tag"]'); ?>Nel nostro caso, l'abbiamo aggiunto al modello di indice principale del tema Twenty Seventeen.

Come filtrare le tassonomie personalizzate?
Gli esempi sopra mostrano un utilizzo molto semplice del plugin. Ma il plug-in Cerca e filtra accetta anche altri parametri. Puoi utilizzare uno shortcode che consente ai tuoi visitatori di filtrare i risultati della ricerca solo per tassonomie personalizzate.
Supponiamo che tu abbia un negozio sul tuo sito con WooCommerce. Se desideri includere categorie di prodotti nei risultati di ricerca, tutto ciò che devi fare è aggiungere il seguente shortcode:
[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]
In questo esempio, ho anche aggiunto le intestazioni prima di ogni campo in modo che i visitatori possano distinguere più facilmente i campi:

Se desideri visualizzarlo su una pagina nel tuo tema, tutto ciò che devi fare è incollare la seguente riga di codice nel modello di pagina appropriato in Aspetto > Temi > Editor :
<?php echo do_shortcode('[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]'); ?>Come filtrare i post per intervallo di date?
Un altro caso di utilizzo è se vuoi consentire ai tuoi visitatori di cercare post in una particolare categoria all'interno di un determinato intervallo di date. In tal caso, incolla semplicemente la seguente riga di codice nel tuo archivio.php :
<?php echo do_shortcode('[searchandfilter fields="search,post_date" types=",daterange" headings=",Post Date"]'); ?>
Come filtrare i formati e le pagine dei post?
Nell'ultimo esempio, diamo un'occhiata al filtraggio dei formati e delle pagine dei post. Se pubblichi post video o audio, questo shortcode consentirà ai visitatori di trovare solo post che appartengono al formato di post specificato:

[searchandfilter fields="search,post_format" types=",select" headings=",Post Format" submit_label="Filter"]
Se vuoi che i visitatori filtrino pagine o post, tutto ciò di cui hai bisogno è lo shortcode che accetta i tipi di post come parametri:
[searchandfilter fields="search,post_types" post_types="post,page" headings=",Post Types"]

A parte gli esempi sopra, il plugin ti consente di essere ancora più specifico includendo parametri per ordinare i risultati in ordine gerarchico, per mostrare il conteggio dei post in categorie specificate, aggiungere classi, filtrare gli autori e molto altro.
Come filtrare i post manualmente
Come con qualsiasi cosa relativa a WordPress, c'è un modo per farlo senza l'uso di un plugin. Supponiamo che tu voglia creare un modulo semplice che consenta ai visitatori di filtrare i post di una determinata categoria.
Per prima cosa, devi creare un semplice modulo:
<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>
Nel modulo sopra, la prima parte consente semplicemente all'utente di selezionare le tassonomie utilizzando la funzione get_terms . Puoi usarlo per categorie e tag predefiniti, nonché per tassonomie personalizzate. La parte successiva aggiunge i pulsanti di opzione che consentono ai visitatori di visualizzare i risultati in ordine crescente o decrescente. Infine, l'ultima parte è il pulsante per il modulo che consente loro di applicare i filtri selezionati.
L'intero modulo è stato aggiunto al template sidebar.php in Aspetto > Temi > Editor .
Il passaggio successivo consiste nell'utilizzare jQuery in modo che i risultati possano essere visualizzati senza dover ricaricare la pagina:
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;
});
});
L'ultimo bit di codice consiste nell'aggiungere una funzione al file function.php che elaborerà il risultato in base ai filtri selezionati. Guarderà attraverso la categoria selezionata e finché ci sono post, li visualizzerà entro la data in cui sono stati pubblicati in ordine crescente o decrescente. Se non vengono trovati post nella categoria, verrà visualizzato il messaggio Nessun post trovato:
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');
Il risultato finale mostra come questo il front-end:

Perché dovresti lasciare che i tuoi lettori filtrino post e pagine in WordPress
I metodi di cui sopra sono un ottimo modo per consentire agli utenti di filtrare i tuoi post. Ma perché vorresti farlo?
WordPress ti consente già di organizzare i tuoi post con categorie e tag, ma consente solo agli utenti di visualizzare una singola categoria o tag alla volta. Inoltre, se utilizzi tipi di post personalizzati che utilizzano le proprie categorie, tali categorie non saranno visibili insieme a quelle utilizzate per i post normali.
Il plug-in Cerca e filtra è particolarmente utile non solo quando hai molte categorie e tag diversi abbinati a contenuti di un anno, ma è anche utile se hai aggiunto tipi di post personalizzati come portfolio, galleria, testimonianze e altro.
Un altro esempio è che i tuoi visitatori possono facilmente utilizzare questo plugin per filtrare i tuoi prodotti e trovare ciò che stanno cercando. E se hai familiarità con il codice, farlo manualmente ti consente di avere un controllo ancora maggiore sul modo in cui vengono visualizzati i risultati della ricerca e su quali parametri vengono utilizzati.
Avvolgendo
Assicurarti che il tuo sito web sia facile da usare consentendo ai tuoi visitatori di trovare rapidamente il contenuto che desideri è un ottimo modo per fornire loro un'esperienza utente piacevole e incoraggiarli a tornare. Se il tuo sito è ricco di contenuti, prendi in considerazione l'implementazione di filtri per pagine e post per assicurarti che ottengano il contenuto che desiderano vedere di più.
Ci piacerebbe conoscere la tua esperienza con la ricerca e il filtro di WordPress. Fateci sapere nei commenti qui sotto.
Immagine in miniatura dell'articolo di graphicglobe / shutterstock.com
