Comparé à un ATS complet, avec son tunnel de suivi de candidature et ses tableaux de bord, un cabinet de recrutement indépendant a rarement besoin de plus qu’une liste d’offres bien organisée et filtrable. L’investissement dans un logiciel de recrutement dédié se justifie surtout à partir d’un certain volume de candidatures à traiter, ce qui n’est pas le cas de la majorité des petites structures.
Ce tutoriel ne traite pas de la candidature en ligne avec dépôt de CV, qui suppose une gestion de fichiers et de données personnelles bien plus encadrée : il montre comment construire, étape par étape, une liste d’offres d’emploi filtrable avec le Loop Grid d’Elementor Pro et des taxonomies personnalisées.
Étape 1 : créer le type de contenu personnalisé « offre »
La première étape consiste à déclarer un type de contenu personnalisé offre_emploi, via un plugin léger comme Custom Post Type UI ou directement en PHP avec register_post_type(). Chaque offre dispose des champs standards (titre, description) complétés par des champs personnalisés ACF pour la localisation, le type de contrat et la date limite de candidature.
Étape 2 : déclarer les deux taxonomies
Deux taxonomies personnalisées structurent le filtrage :
secteur_activite: commerce, industrie, tertiaire, santé, selon les secteurs couverts par le cabinet.type_contrat: CDI, CDD, intérim, alternance.
<?php
register_taxonomy( 'type_contrat', 'offre_emploi', array(
'label' => 'Type de contrat',
'hierarchical' => false,
'show_in_rest' => true,
) );
Étape 3 : construire le Loop Item
Le Loop Item affiche, pour chaque offre, le titre, le secteur sous forme d’étiquette, le type de contrat, et la date limite de candidature via un Dynamic Tag lié au champ ACF correspondant. Une condition d’affichage masque la date limite si elle est dépassée, en remplaçant le texte par « Poste pourvu », ce qui évite de laisser une offre expirée visible sans indication.

Étape 4 : configurer le Loop Grid avec filtres par taxonomie
Dans l’onglet Requête du Loop Grid, la source est réglée sur le type de contenu offre_emploi. Pour ajouter un filtrage visuel, on place au-dessus du Loop Grid un widget de menu ou d’onglets dont chaque lien pointe vers une URL avec un paramètre de taxonomie, par exemple ?type_contrat=cdi. Un court script associé au Query ID du Loop Grid lit ce paramètre d’URL et ajuste la requête tax_query en conséquence.
Étape 5 : trier les offres par pertinence
Les offres les plus récentes ou celles marquées comme urgentes par le cabinet doivent apparaître en premier. Le tri se règle sur la date de publication décroissante par défaut, avec un champ ACF booléen offre_urgente qui peut être intégré à une requête meta_query pour faire remonter certaines offres en tête de liste, indépendamment de leur date.
Étape 6 : gérer l’archivage des offres pourvues
Plutôt que de supprimer une offre pourvue, on la bascule dans un statut personnalisé ou une taxonomie statut_offre avec la valeur « pourvue », ce qui l’exclut automatiquement de la requête du Loop Grid tout en conservant l’historique pour les statistiques internes du cabinet.
Étape 7 : ajouter un compteur d’offres par secteur
Un widget Texte placé au-dessus du Loop Grid peut afficher, à côté de chaque bouton de filtre par secteur, le nombre d’offres actuellement publiées dans ce secteur. Ce compteur se calcule via une requête wp_count_posts croisée avec la taxonomie secteur_activite, ce qui donne au visiteur une idée immédiate du volume d’opportunités avant même de cliquer sur un filtre, un détail qui améliore sensiblement la lisibilité du catalogue quand le nombre d’offres dépasse la vingtaine.
Le conseil qu’on donne systématiquement à ce stade : ne jamais coupler ce type de job board à un ATS a posteriori sans revoir la structure des champs. Autant partir d’une structure de données simple mais cohérente dès le départ, quitte à la faire évoluer plus tard.
En résumé
Un job board fonctionnel pour un cabinet de recrutement indépendant se construit avec un type de contenu personnalisé, deux taxonomies bien choisies et un Loop Grid Pro correctement filtré. Cette approche reste largement suffisante tant que le volume d’offres et de candidatures ne justifie pas l’investissement dans un ATS dédié.