Est-il vraiment nécessaire d’installer un outil de billetterie complet pour connaître, en un coup d’œil, le nombre de participants confirmés à un salon professionnel ? Pour un organisateur de salons dans le secteur de l’agroalimentaire, la réponse était non : ses inscriptions passaient déjà par un formulaire maison, stockées comme un type de contenu inscription_salon lié à la fiche de l’événement par un champ personnalisé.
Ce qui manquait, ce n’était pas un système de billetterie, mais un simple compteur visible directement sur la fiche du salon en administration, sans avoir à ouvrir un tableau séparé ni à filtrer manuellement la liste des inscriptions. Une métabox de lecture seule a suffi à combler ce manque, sans ajouter la moindre dépendance externe.
Compter les inscriptions confirmées liées à un salon
Chaque inscription porte un champ salon_id et un champ statut_inscription, qui vaut confirme une fois le paiement ou la validation manuelle effectuée. Le comptage se fait avec une requête WP_Query restreinte aux seuls identifiants, pour rester légère même avec plusieurs centaines d’inscriptions.
function ch_compter_inscriptions_confirmees( $salon_id ) {
$inscriptions = new WP_Query( array(
'post_type' => 'inscription_salon',
'post_status' => 'publish',
'meta_query' => array(
array( 'key' => 'salon_id', 'value' => $salon_id ),
array( 'key' => 'statut_inscription', 'value' => 'confirme' ),
),
'posts_per_page' => -1,
'fields' => 'ids',
'no_found_rows' => true,
) );
return count( $inscriptions->posts );
}

Afficher le compteur dans une métabox latérale
La métabox se contente d’afficher un chiffre et une phrase de contexte, sans aucun champ modifiable : ce n’est pas un formulaire, seulement un tableau de bord miniature attaché à la fiche du salon.
add_action( 'add_meta_boxes', function () {
add_meta_box(
'ch_compteur_inscriptions',
'Participants confirmés',
function ( $post ) {
$total = ch_compter_inscriptions_confirmees( $post->ID );
printf(
'<p style="font-size: 28px; font-weight: bold;">%d</p><p>participant(s) confirmé(s) pour ce salon.</p>',
$total
);
},
'salon',
'side',
'high'
);
} );
Garder le compteur exact sans recalcul permanent
Recalculer le compteur à chaque affichage de la fiche reste raisonnable tant que le nombre d’inscriptions ne dépasse pas quelques milliers. Au-delà, j’aurais recommandé de stocker un total en métadonnée du salon, incrémenté à chaque confirmation plutôt que recalculé systématiquement, pour éviter une requête coûteuse répétée à chaque chargement de l’écran d’édition.
add_action( 'ch_inscription_confirmee', function ( $inscription_id ) {
$salon_id = get_post_meta( $inscription_id, 'salon_id', true );
$total_actuel = (int) get_post_meta( $salon_id, 'total_confirmes_cache', true );
update_post_meta( $salon_id, 'total_confirmes_cache', $total_actuel + 1 );
} );
Pour ce salon en particulier, le volume d’inscriptions restait sous les cinq cents, et le recalcul direct suffisait largement sans complexifier l’implémentation avec un cache à synchroniser.
Ajouter une répartition par type de visiteur
Une fois le compteur global en place, l’organisateur a demandé une répartition plus fine : combien de visiteurs professionnels, combien d’exposants, combien de représentants de la presse. Le même principe de comptage, appliqué à un champ supplémentaire type_visiteur, a permis d’enrichir la métabox sans en changer la structure.
- Un total par catégorie affiché sous forme de petite liste, sous le chiffre global déjà présent.
- Un lien direct vers la liste des inscriptions filtrées par catégorie, pratique pour vérifier un chiffre qui semble incohérent.
- Une actualisation manuelle possible via un bouton qui recharge la métabox en Ajax, sans recharger toute la page d’édition.
Un compteur affiché au bon endroit, au bon moment, rend souvent inutile un outil complet qu’on aurait mis des semaines à intégrer.
Ce que ce compteur ne couvre pas
Cette métabox ne traite volontairement pas l’envoi des badges visiteurs, qui suppose un système d’impression et de génération de code-barres distinct, souvent externalisé auprès d’un prestataire spécialisé en événementiel. Le compteur reste un outil de pilotage rapide, pas un système de gestion complète de la présence sur site.
Notre verdict
Une requête restreinte, une métabox simple, et l’organisateur obtient exactement l’information qu’il cherchait sans dépendre d’un outil tiers ni d’un abonnement supplémentaire. Ce niveau de développement reste accessible à toute agence qui maîtrise déjà les bases des métaboxes et des requêtes personnalisées.