Guide ultime du filtrage des publications et des pages WordPress
Publié: 2017-07-13Si vous avez déjà acheté sur Amazon, il est probable que vous appréciez déjà la puissance des filtres pour explorer un vaste ensemble de contenus et localiser exactement ce que vous recherchez. Lorsque vous recherchez un produit sur Amazon, il y a toujours une barre latérale pleine de filtres qui vous aident à affiner votre recherche, en renvoyant uniquement les résultats qui répondent à vos exigences les plus importantes. Des filtres tels que l'évaluation des clients, la marque, si le produit est destiné aux hommes ou aux femmes, l'état (neuf/d'occasion) et bien d'autres.
Compte tenu de l'utilité des filtres de contenu, il n'est probablement pas surprenant que la possibilité de les créer pour votre contenu WordPress soit intégrée directement dans WordPress Core. Et avec un peu de savoir-faire, vous pouvez apporter ce pouvoir aux visiteurs de votre site, leur permettant de naviguer dans votre contenu plus rapidement que jamais.
Dans cet article, nous allons vous expliquer le processus de création d'options de filtrage de contenu pour vos utilisateurs avec un plugin.
Commençons!
Pourquoi le filtrage des publications et des pages WordPress ?
WordPress est incroyablement flexible. Le noyau vous permet d'avoir un contrôle total sur tout sur votre site. Le filtrage des publications et des pages est l'une des fonctionnalités les plus puissantes de WordPress. Il existe plusieurs fonctions intégrées pour les publications, les pages et le contenu personnalisé. De plus, il existe de nombreuses façons de sélectionner, de regrouper et de filtrer les éléments stockés dans la base de données. Vous pouvez créer des listes triables de résultats de recherche par modèle de page, types de publication, termes de taxonomie, hiérarchie de modèles, pages de produits ou tout autre élément de votre choix.
Par défaut, WordPress est livré avec une fonction de recherche intégrée. Cependant, cette fonction de recherche laisse beaucoup à désirer et n'aide pas lorsque vos lecteurs souhaitent filtrer les résultats d'une manière particulière. C'est là que l'aide d'un plugin tiers entre en jeu.
À quoi sert le plug-in de recherche et de filtrage ?
Le plugin Search & Filter est un plugin facile à utiliser qui fait passer le champ de recherche par défaut de WordPress au niveau supérieur. Il permet à vos visiteurs de rechercher un terme particulier et de filtrer les résultats en fonction de catégories, de balises, de types de publication personnalisés, de taxonomies personnalisées, d'une plage de dates ou même d'une combinaison de tous pour une recherche plus précise et des résultats plus précis.
L'utilisation du plugin est très simple. Après avoir installé et activé le plugin, vous serez redirigé vers la page des paramètres avec une explication détaillée de son utilisation. En un mot, vous pouvez utiliser un shortcode n'importe où dans vos publications, pages ou toute barre latérale widgetisée. Alternativement, si vous vous sentez courageux et que cela ne vous dérange pas de vous salir les mains avec un peu de code, vous pouvez coller une seule ligne de code dans votre fichier de thème.
Voyons quelques exemples.
Comment filtrer les messages avec la recherche et le filtre
L'utilisation la plus basique du plugin est le shortcode qui permet aux visiteurs de rechercher dans toutes vos catégories et balises. Le shortcode par défaut ressemble à ceci :
[searchandfilter fields="search,category,post_tag"]
Vous pouvez l'insérer dans n'importe quel article, page ou widget de texte et il affichera les options de filtrage avec les champs de recherche, de catégorie et de balises sur le front-end :

Si vous souhaitez permettre aux visiteurs de sélectionner plusieurs catégories ou balises, vous pouvez facilement le faire en modifiant le shortcode pour inclure des cases à cocher au lieu d'une liste déroulante et en étiquetant chaque champ :
[searchandfilter headings="Select categories:" types="checkbox" fields="category"]

Les exemples ci-dessus montrent comment utiliser le plugin dans la barre latérale. Cependant, vous pouvez également l'utiliser dans votre fichier de thème pour l'afficher sur n'importe quelle page. Dans l'exemple ci-dessous, le formulaire s'affiche sur la page du blog. Il suffit de coller la ligne de code suivante :
<?php echo do_shortcode('[searchandfilter fields="search,category,post_tag"]'); ?>Dans notre cas, nous l'avons ajouté au modèle d'index principal du thème Twenty Seventeen.

Comment filtrer les taxonomies personnalisées ?
Les exemples ci-dessus montrent une utilisation très basique du plugin. Mais, le plugin Search & Filter accepte également d'autres paramètres. Vous pouvez utiliser un shortcode qui permet à vos visiteurs de filtrer les résultats de la recherche uniquement pour les taxonomies personnalisées.
Disons que vous avez une boutique sur votre site avec WooCommerce. Si vous souhaitez inclure des catégories de produits dans les résultats de la recherche, il vous suffit d'ajouter le shortcode suivant :
[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]
Dans cet exemple, j'ai également ajouté des en-têtes avant chaque champ afin que les visiteurs aient plus de facilité à faire la distinction entre les champs :

Si vous souhaitez l'afficher sur une page de votre thème, il vous suffit de coller la ligne de code suivante dans le modèle de page approprié sous Apparence > Thèmes > Éditeur :
<?php echo do_shortcode('[searchandfilter taxonomies="search,category,post_tag,product_cat" headings=",Categories,Tags,Product Categories"]'); ?>Comment filtrer les publications par plage de dates ?
Une autre utilisation de cas est si vous souhaitez permettre à vos visiteurs de rechercher des articles dans une catégorie particulière dans une certaine plage de dates. Dans ce cas, collez simplement la ligne de code suivante dans votre archive.php :
<?php echo do_shortcode('[searchandfilter fields="search,post_date" types=",daterange" headings=",Post Date"]'); ?>
Comment filtrer les formats de publication et les pages ?
Dans le dernier exemple, examinons le filtrage des formats de publication et des pages. Si vous publiez des articles vidéo ou audio, ce shortcode permettra aux visiteurs de ne trouver que les articles appartenant au format d'article que vous spécifiez :

[searchandfilter fields="search,post_format" types=",select" headings=",Post Format" submit_label="Filter"]
Si vous souhaitez que les visiteurs filtrent les pages ou les publications, vous n'avez besoin que d'un shortcode qui accepte les types de publication en tant que paramètres :
[searchandfilter fields="search,post_types" post_types="post,page" headings=",Post Types"]

Outre les exemples ci-dessus, le plugin vous permet d'être encore plus précis en incluant des paramètres pour classer les résultats dans l'ordre hiérarchique, pour afficher le nombre de publications dans des catégories spécifiées, ajouter des classes, filtrer les auteurs et bien plus encore.
Comment filtrer les publications manuellement
Comme pour tout ce qui concerne WordPress, il existe un moyen de le faire sans utiliser de plugin. Supposons que vous souhaitiez créer un formulaire simple qui permet aux visiteurs de filtrer les publications d'une certaine catégorie.
Tout d'abord, vous devez créer un formulaire simple :
<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>
Dans le formulaire ci-dessus, la première partie permet simplement à l'utilisateur de sélectionner les taxonomies en utilisant la fonction get_terms . Vous pouvez l'utiliser pour les catégories et les balises par défaut ainsi que pour les taxonomies personnalisées. La partie suivante ajoute les boutons radio qui permettent aux visiteurs d'afficher les résultats par ordre croissant ou décroissant. Enfin, la dernière partie est le bouton du formulaire qui leur permet d'appliquer les filtres sélectionnés.
Le formulaire entier a été ajouté au modèle sidebar.php dans Apparence > Thèmes > Éditeur .
L'étape suivante consiste à utiliser le jQuery afin que les résultats puissent être affichés sans avoir à recharger la page :
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;
});
});
Le dernier morceau de code consiste à ajouter une fonction au fichier function.php qui traitera le résultat en fonction des filtres sélectionnés. Il parcourra la catégorie sélectionnée et tant qu'il y aura des messages, il les affichera par date de publication par ordre croissant ou décroissant. Si aucun message n'est trouvé dans la catégorie, le message Aucun message n'a été trouvé s'affichera :
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');
Le résultat final affiche comme celui-ci le front-end :

Pourquoi devriez-vous laisser vos lecteurs filtrer les publications et les pages dans WordPress
Les méthodes ci-dessus sont un excellent moyen de permettre aux utilisateurs de filtrer vos publications. Mais pourquoi tu veux faire ça?
WordPress vous permet déjà d'organiser vos publications avec des catégories et des balises, mais il ne permet aux utilisateurs d'afficher qu'une seule catégorie ou balise à la fois. De plus, si vous utilisez des types de publication personnalisés qui utilisent leurs propres catégories, ces catégories ne seront pas visibles avec celles utilisées pour les publications régulières.
Le plugin Search & Filter est particulièrement utile non seulement lorsque vous avez de nombreuses catégories et balises différentes associées à une année de contenu, mais également si vous avez ajouté des types de publication personnalisés tels que portfolio, galerie, témoignage, etc.
Un autre exemple est que vos visiteurs peuvent facilement utiliser ce plugin pour filtrer vos produits et trouver ce qu'ils recherchent. Et si vous connaissez le code, le faire manuellement vous permet d'avoir encore plus de contrôle sur la façon dont les résultats de la recherche sont affichés et sur les paramètres utilisés.
Emballer
S'assurer que votre site Web est facile à utiliser en permettant à vos visiteurs de trouver rapidement le contenu que vous recherchez est un excellent moyen de leur offrir une expérience utilisateur agréable et de les inciter à revenir. Si votre site est riche en contenu, envisagez de mettre en œuvre un filtrage des pages et des publications pour vous assurer qu'ils obtiennent le contenu qu'ils souhaitent voir davantage.
Nous aimerions connaître votre expérience avec la recherche et le filtrage WordPress. Faites-nous savoir dans les commentaires ci-dessous.
Image miniature de l'article par graphicglobe / shutterstock.com
