# Galerie de chantier triée par type, pour un cabinet d’architecture

> Sans installer d'extension de galerie générique, une taxonomie personnalisée suffit à filtrer des photos de chantier par type de projet dans un thème sur mesure.

- Auteur : WordPress Développement
- Publié le : 2020-04-15
- Mis à jour le : 2020-04-15
- Catégorie : Thèmes
- URL : https://www.wpmoderne.fr/themes/galerie-chantier-taxonomie-cabinet-architecture/

## L’essentiel

- Une taxonomie dédiée remplace un plugin de galerie générique
- Les filtres se construisent avec get_terms et une simple boucle
- Le tri par type de projet parle mieux aux clients qu'un tri chronologique

`register_taxonomy()` : c'est souvent la seule fonction dont un cabinet d'architecture a besoin pour organiser ses photos de chantier, avant même d'envisager la moindre extension. Le réflexe le plus courant reste pourtant d'installer un plugin de galerie généraliste, avec son propre système de catégories, ses propres réglages d'affichage et son propre poids en scripts et styles chargés sur chaque page.

Pour un cabinet qui présente ses réalisations en les regroupant par type de projet (rénovation, construction neuve, extension, aménagement intérieur), une taxonomie personnalisée directement liée au custom post type des réalisations offre un contrôle plus fin, sans dépendance à une extension tierce ni à ses mises à jour.

## Le custom post type « réalisation »

Le point de départ reste un type de contenu dédié aux réalisations du cabinet, distinct des articles de blog. Chaque réalisation porte une ou plusieurs photos en galerie native de blocs, un court descriptif du projet, et surtout un terme de la taxonomie personnalisée qui indique son type.

```
function cabinet_cpt_realisation() {
    register_post_type( 'realisation', array(
        'labels'      => array( 'name' => 'Réalisations' ),
        'public'      => true,
        'has_archive' => true,
        'supports'    => array( 'title', 'editor', 'thumbnail' ),
        'rewrite'     => array( 'slug' => 'realisations' ),
    ) );
}
add_action( 'init', 'cabinet_cpt_realisation' );

function cabinet_taxonomy_type_chantier() {
    register_taxonomy( 'type_chantier', 'realisation', array(
        'labels'       => array( 'name' => 'Types de chantier' ),
        'hierarchical' => true,
        'show_admin_column' => true,
        'rewrite'      => array( 'slug' => 'type-chantier' ),
    ) );
}
add_action( 'init', 'cabinet_taxonomy_type_chantier' );
```

## Pourquoi une taxonomie plutôt qu'un plugin de galerie

Un plugin de galerie généraliste impose généralement son propre modèle de données, avec ses propres catégories de galerie déconnectées du système de taxonomies natif de WordPress. Cela crée deux systèmes de classification parallèles : les catégories du plugin d'un côté, les taxonomies natives de l'autre, sans lien entre eux.

En s'appuyant sur une taxonomie personnalisée directement rattachée au custom post type des réalisations, l'équipe éditoriale reste dans un environnement d'administration familier : le même écran que celui des catégories d'articles, avec la même ergonomie. Le filtrage par type de chantier devient une simple requête `WP_Query` avec un argument `tax_query`, sans dépendre d'un shortcode ou d'un bloc propriétaire fourni par une extension.

## Construire la navigation de filtre

La page d'archive des réalisations affiche une liste de liens correspondant à chaque terme de la taxonomie, générée dynamiquement avec `get_terms()`, plutôt que codée en dur dans le template. Cela évite de devoir modifier le thème chaque fois que le cabinet ajoute un nouveau type de chantier.

> L'essentiel à retenir : Une taxonomie dédiée remplace un plugin de galerie générique ; Les filtres se construisent avec get_terms et une simple boucle ; Le tri par type de projet parle mieux aux clients qu'un tri chronologique

```
$types = get_terms( array(
    'taxonomy'   => 'type_chantier',
    'hide_empty' => true,
) );

foreach ( $types as $type ) {
    printf(
        '<a href="%s">%s</a>',
        esc_url( get_term_link( $type ) ),
        esc_html( $type->name )
    );
}
```

Chaque lien pointe vers l'archive native de la taxonomie, générée automatiquement par WordPress dès lors qu'un fichier `taxonomy-type_chantier.php` est présent dans le thème, suivant la hiérarchie des templates. Aucun plugin de filtrage AJAX n'est nécessaire pour un premier niveau de navigation fonctionnel.

## Le template de l'archive de taxonomie

Le fichier `taxonomy-type_chantier.php` reprend la structure d'une archive classique, avec la boucle WordPress standard, mais adapte l'introduction en affichant la description du terme courant grâce à `term_description()`. Cela permet au cabinet de rédiger un court texte de présentation pour chaque type de chantier, directement depuis l'écran d'édition de la taxonomie.

- Le titre de l'archive reprend le nom du terme via `single_term_title()`
- La description éditoriale du terme s'affiche en introduction
- La boucle affiche les réalisations avec leur image mise en avant en vignette
- Un fil d'Ariane rappelle la navigation entre l'archive générale et le type de chantier filtré

## Limites et évolutions possibles

Cette approche reste volontairement simple : elle ne propose pas de filtrage combiné par plusieurs critères à la fois (type de chantier et localisation géographique, par exemple), ce qui demanderait un système de filtres AJAX plus élaboré. Pour un cabinet avec un volume de réalisations modéré, ce niveau de complexité supplémentaire n'apporte généralement pas de bénéfice proportionné à son coût de développement.

> Sur ce type de projet, le plus grand piège n'est pas technique mais éditorial : une taxonomie mal pensée dès le départ, avec des types de chantier qui se chevauchent, complique ensuite tout le travail de classement pour l'équipe du cabinet.

## En résumé

Une taxonomie personnalisée bien reliée à un custom post type de réalisations couvre l'essentiel des besoins de classement d'un cabinet d'architecture, sans le poids ni les dépendances d'un plugin de galerie généraliste. Le gain se mesure autant en performance qu'en simplicité de maintenance : l'équipe du cabinet gère ses types de chantier depuis un écran familier, et le développeur garde un contrôle total sur le rendu du thème.
