# Un annuaire de commerçants de centre-ville affiché en Query Loop

> Une association de commerçants voit son annuaire local pris en charge par le bloc Query Loop et une taxonomie personnalisée, sans extension d'annuaire dédiée.

- Auteur : WordPress Développement
- Publié le : 2022-09-08
- Mis à jour le : 2022-09-08
- Catégorie : Éditeur de site (FSE)
- URL : https://www.wpmoderne.fr/fse/annuaire-commercants-centre-ville-query-loop/

## L’essentiel

- Créer une taxonomie de secteur d'activité pour filtrer l'annuaire
- Configurer la Query Loop pour n'afficher qu'un secteur à la fois
- Éviter le coût de maintenance d'une extension d'annuaire complète

Combien d'extensions faut-il pour afficher un annuaire de quarante commerçants classés par secteur d'activité ? Pour une association de commerçants de centre-ville qui préparait la refonte de son site vitrine, la réponse retenue a été : aucune. Le site venait de basculer sur un thème de blocs compatible avec le Site Editor, disponible depuis la sortie de WordPress 5.9 quelques mois plus tôt, et le bloc Query Loop suffisait largement à ce besoin.

L'annuaire devait présenter les commerçants classés en quatre secteurs : commerce alimentaire, mode et accessoires, services et artisanat. Chaque fiche commerçant restait simple : un nom, une adresse, un numéro de téléphone et une courte description, saisis comme un type de contenu personnalisé plutôt que comme des articles de blog détournés de leur usage.

## La taxonomie personnalisée comme pivot du classement

Une taxonomie personnalisée `secteur_activite` a été enregistrée via `register_taxonomy()`, associée au type de contenu personnalisé `commercant` créé pour l'occasion. Ce choix a permis de réutiliser directement le mécanisme de classement natif de WordPress, plutôt que d'inventer un champ personnalisé maison qu'il aurait fallu ensuite interroger manuellement.

```
register_taxonomy( 'secteur_activite', 'commercant', array(
    'label'        => 'Secteurs d\'activité',
    'hierarchical' => false,
    'show_in_rest' => true,
    'public'       => true,
) );
```

- Le paramètre `show_in_rest` à vrai est indispensable pour que la taxonomie soit visible depuis l'éditeur de blocs et depuis les réglages de la Query Loop.
- Quatre termes ont été créés manuellement depuis l'écran d'administration : les quatre secteurs identifiés par l'association.
- Chaque fiche commerçant s'est vue attribuer un unique terme, sans classement croisé pour rester simple à gérer par l'équipe bénévole.

## Quatre gabarits d'archive, un par secteur

Plutôt qu'une seule page listant l'ensemble des commerçants avec un filtre en JavaScript, le choix s'est porté sur quatre pages distinctes, chacune associée à un gabarit d'archive de taxonomie dédié, dans la logique de la hiérarchie de gabarits déjà bien installée à ce stade dans les thèmes de blocs.

```
<!-- wp:query {"query":{"taxQuery":{"secteur_activite":[3]},"postType":"commercant","inherit":false}} -->
<div class="wp-block-query">
  <!-- wp:post-template -->
    <!-- wp:post-title /-->
    <!-- wp:post-content /-->
  <!-- /wp:post-template -->
</div>
<!-- /wp:query -->
```

> L'essentiel à retenir : Créer une taxonomie de secteur d'activité pour filtrer l'annuaire ; Configurer la Query Loop pour n'afficher qu'un secteur à la fois ; Éviter le coût de maintenance d'une extension d'annuaire complète

## Ce que ce choix a évité

### Une extension d'annuaire complète et ses réglages superflus

Les extensions d'annuaire du marché proposent généralement des fonctionnalités bien au-delà du besoin réel : géolocalisation avancée, système de notation, formulaires de soumission publique. Pour une association qui gère elle-même la saisie des quarante fiches, ces fonctionnalités représentaient une complexité inutile et une surface d'attaque supplémentaire à surveiller.

### Un développement de gabarit entièrement sur mesure

La combinaison type de contenu personnalisé, taxonomie et Query Loop a permis de couvrir l'intégralité du besoin sans écrire une seule ligne de boucle d'affichage en PHP, seule la déclaration du type de contenu et de la taxonomie ayant nécessité un développement minimal.

## La carte interactive, un sujet à part

L'association souhaitait également une carte interactive positionnant chaque commerce sur un plan du centre-ville. Ce besoin, qui suppose l'intégration d'une bibliothèque cartographique tierce, dépasse le périmètre de cet article et a été traité séparément, sans lien direct avec la mécanique de Query Loop décrite ici.

> Une taxonomie personnalisée bien pensée coûte moins cher, à terme, qu'une extension généraliste qui ne sert jamais qu'un dixième de ses fonctionnalités.

## En résumé

Pour cette association de commerçants, l'annuaire de centre-ville a été résolu avec un type de contenu personnalisé, une taxonomie dédiée et le bloc Query Loop, sans extension d'annuaire ni développement de boucle d'affichage sur mesure. La carte interactive demandée en complément reste un chantier distinct, à traiter avec ses propres contraintes techniques.
