Combien de représentations une petite salle de spectacle indépendante programme-t-elle par mois ? Une dizaine tout au plus, sans jamais de gestion de places numérotées ni de plan de salle complexe à afficher. Un plugin de billetterie événementielle complet, avec ses propres options de plan de salle interactif et de gestion de multiples organisateurs, apporte alors beaucoup plus de complexité que ce que cette salle ne demande réellement.
La solution retenue combine un type de contenu personnalisé pour chaque représentation, un widget Formulaire Elementor Pro pour calculer le nombre de places et le montant total, et une passerelle de paiement simple pour encaisser la réservation en ligne.
Un type de contenu par représentation
Chaque spectacle programmé devient une entrée du type de contenu personnalisé representation, déclaré via register_post_type(), avec des champs personnalisés pour la date, l’heure, le tarif plein et le tarif réduit, ainsi qu’un nombre de places restantes stocké en méta et décrémenté à chaque réservation validée.
register_post_type( 'representation', array(
'label' => 'Représentations',
'public' => true,
'has_archive' => true,
'show_in_rest' => true,
'supports' => array( 'title', 'editor', 'thumbnail' ),
) );
Afficher la fiche via le Theme Builder

Un modèle unique du Theme Builder Elementor Pro, conditionné sur ce type de contenu, affiche l’affiche du spectacle, la date, les tarifs et le nombre de places restantes via les balises dynamiques reliées aux champs personnalisés. Cette fiche intègre directement en bas de page le widget Formulaire de réservation, sans lien externe vers un site tiers de billetterie.
Le nombre de places restantes, affiché dynamiquement, incite à réserver rapidement quand il devient faible, un effet obtenu ici gratuitement grâce à la simple lecture d’un champ personnalisé mis à jour à chaque commande validée.
Le formulaire de réservation et son calcul
Le widget Formulaire propose deux champs numériques (nombre de places tarif plein, nombre de places tarif réduit), un total calculé côté navigateur par un script personnalisé similaire à celui utilisé pour un calcul de devis, puis un champ caché reprenant ce total pour la suite du parcours de paiement.
- Un champ numérique par catégorie de tarif proposée pour la représentation.
- Un total recalculé à chaque changement de valeur, affiché avant validation.
- Une vérification du nombre de places restantes avant d’autoriser la validation finale.
Encaisser sans module de billetterie complet
La validation du formulaire redirige vers une page de paiement construite avec une passerelle simple intégrée à WordPress, qui transmet le montant total calculé précédemment. Une fois le paiement confirmé par la passerelle, un déclencheur webhook met à jour le nombre de places restantes de la représentation concernée et envoie la confirmation de réservation par e-mail au spectateur.
Les limites assumées de cette approche
Ce dispositif ne gère pas de plan de salle avec sièges numérotés individuellement : il fonctionne sur un comptage global de places disponibles par représentation, ce qui convient à une salle sans numérotation stricte des sièges. Il ne couvre pas non plus la gestion de plusieurs salles distinctes avec des jauges différentes à synchroniser entre elles, un besoin qui justifierait alors une solution plus structurée.
Toujours prévoir une marge de sécurité entre le nombre de places affiché et la capacité réelle de la salle, le temps que la mise à jour du compteur se propage correctement après chaque paiement confirmé : mieux vaut refuser une place en trop tôt que de devoir annuler une réservation confirmée après coup.
Notre verdict
Pour une salle indépendante à la programmation limitée, un type de contenu personnalisé, un formulaire Elementor Pro bien calibré et une passerelle de paiement simple suffisent largement à vendre des places en ligne, sans le poids ni le coût d’un plugin de billetterie événementielle complet. Cette solution reste évolutive tant que le besoin ne dépasse pas un comptage global de places par représentation.