Ajouter un paiement sur place dans The Events Calendar (version gratuite)
Vous utilisez The Events Calendar pour gérer vos événements, mais vous cherchez un moyen d’ajouter une option de paiement sur place ?
Bonne nouvelle : c’est possible… à condition de mettre un peu les mains dans le code.
Voici ce que nous allons faire ensemble :
- Ajouter un champ personnalisé « prix sur place » avec ACF
- Créer un thème enfant
- Utiliser un filtre spécifique de The Events Calendar pour afficher le prix
- Vérifier le rendu final côté site
Et si vous préférez me confier ce genre de personnalisation (ou carrément la création complète de votre site internet), je propose un accompagnement sur-mesure de A à Z.
- Avant de commencer : ce tutoriel ne couvre pas les bases de The Events Calendar​
- Ajoutez un champ de paiement sur place avec ACF (gratuitement)
- Créez un thème enfant (si ce n’est pas déjà fait)
- Appliquez le bon filtre de The Events Calendar pour afficher le prix
- Et voilà le résultat côté site (testez votre affichage !)
- Et si vous avez envie d’aller plus loin ?
Avant de commencer : ce tutoriel ne couvre pas les bases de The Events Calendar
Si vous découvrez The Events Calendar, je vous conseille de prendre un peu de temps pour vous familiariser avec ses fonctionnalités principales avant d’aller plus loin.
Ici, je pars du principe que vous avez déjà :
- installé et activé The Events Calendar sur votre site WordPress,
- créé au moins un événement pour tester,
- compris comment fonctionne l’affichage sur le front (notamment la page d’un événement individuel).
Le but de ce tutoriel n’est pas d’expliquer comment utiliser l’extension en détail, mais plutôt de vous montrer comment la pousser un peu plus loin pour afficher un prix « paiement sur place » sans recourir à la version pro ni à une solution de billetterie en ligne.
Rassurez-vous : même si vous débutez en WordPress, je vais faire en sorte que chaque étape soit claire et facile à suivre. Mais si vous n’avez jamais touché à The Events Calendar, je vous recommande de faire un tour sur leur chaine YouTube avant de continuer.
Ajoutez un champ de paiement sur place avec ACF (gratuitement)
Pour afficher un prix spécifique à payer sur place dans vos événements, on va d’abord créer un champ personnalisé qui contiendra ce montant.
Et pour ça, rien de plus simple que d’utiliser Advanced Custom Fields (ACF), dans sa version gratuite.
Étape 1 : Installer ACF
Si ce n’est pas déjà fait, vous pouvez l’ajouter directement depuis votre admin WordPress :
- Allez dans Extensions > Ajouter.
- Recherchez Advanced Custom Fields.
- Cliquez sur Installer, puis Activer.
Étape 2 : Créer un groupe de champs
Une fois l’extension activée :
- Allez dans Custom Fields > Ajouter.
- Donnez un nom à votre groupe, par exemple : « Evènement ».
- Cliquez sur Ajouter un champ :
- Type de champ : Nombre (ou Texte, si vous voulez autoriser du texte en plus du chiffre)
- Libellé : Prix à payer sur place
- Nom du champ : evenement_prix_a_payer_sur_place
Étape 3 : Associer le champ aux événements
Dans la section « Règles de localisation » en bas du groupe de champ :
- Choisissez Type de publication > égal à > Événement (ou Event selon la langue de votre site).
Dès que c’est enregistré, vous verrez le nouveau champ dans vos événements.
Vous pourrez y saisir manuellement un prix à afficher sur place on s’en servira dans la prochaine étape pour l’afficher côté site.
Créez un thème enfant (si ce n’est pas déjà fait)
Je ne vais pas vous réexpliquer ici comment créer un thème enfant pas à pas.
Il existe déjà d’excellents outils pour ça, et je préfère me concentrer sur l’astuce principale de cet article.
Le plus simple, c’est d’utiliser cet outil gratuit proposé par WPMarmite : Créer un thème enfant automatiquement
Une fois votre thème enfant en place, vous pourrez y ajouter le code personnalisé que l’on verra juste après.
C’est la méthode la plus propre pour éviter de perdre vos modifications lors des futures mises à jour du thème principal.
Si vous êtes à l’aise avec le développement, vous pouvez aussi passer par une extension sur mesure.
Cela peut être utile si vous avez d’autres fonctionnalités à intégrer au passage, ou si vous préférez tout centraliser côté plugin.
Et si vous préférez déléguer cette partie technique, n’hésitez pas à me contacter.
En tant que webmaster WordPress, j’ai l’habitude de créer ce type de solutions sur mesure, propres et évolutives.
Appliquez le bon filtre de The Events Calendar pour afficher le prix
Maintenant que le champ personnalisé est en place, il est temps de le rendre visible côté site.
Pour ça, on va utiliser un filtre natif proposé par The Events Calendar : tribe_get_cost.
Ce filtre permet de modifier dynamiquement le prix affiché dans les événements.
Et c’est exactement ce qu’on veut faire ici : afficher le prix “à payer sur place” lorsqu’il est renseigné.
Voici le code à ajouter dans le fichier functions.php de votre thème enfant :
add_filter( 'tribe_get_cost', function( $cost, $post_id ) {
if ( is_admin() ) return $cost;
$prix_sur_place = get_field('evenement_prix_a_payer_sur_place', $post_id);
if ( $prix_sur_place && $prix_sur_place != '' ) {
$cost = "Paiement de " . $prix_sur_place . "€ sur place (espèces ou carte bancaire)";
}
if ( $cost === 'Free' ) {
$cost = 'Gratuit';
}
return $cost;
}, 10, 2 );
Quelques précisions :
- get_field() vient de l’extension ACF et permet de récupérer la valeur du champ que vous avez ajouté.
- On vérifie qu’on n’est pas dans l’admin, pour ne pas perturber l’affichage côté back-office.
- Si un prix “sur place” est renseigné, c’est lui qui sera affiché.
- Et si le prix est défini comme Free, on le remplace proprement par “Gratuit” (plus cohérent pour un site en français).
Astuce bonus : Vous pouvez adapter le texte affiché à votre convenance, par exemple en mentionnant uniquement “paiement sur place” ou en précisant le mode de règlement que vous acceptez.
Et voilà le résultat côté site (testez votre affichage !)
Une fois le code en place, rendez-vous sur la page d’un de vos événements.
Si vous avez bien rempli le champ “Prix à payer sur place” dans l’éditeur de l’événement, vous devriez voir apparaître un texte sur votre site du type :
Si aucun prix n’a été renseigné, le comportement reste inchangé.
Et si ça ne fonctionne pas ?
Pas de panique. Voici quelques pistes à vérifier :
- ACF est bien installé et activé ?
- Le champ personnalisé a été ajouté au bon type de contenu (Événement) ?
- Le code a bien été copié dans le fichier functions.php de votre thème enfant ?
- Le nom du champ utilisé dans get_field() correspond exactement à celui défini dans ACF (evenement_prix_a_payer_sur_place) ?
Si tout est bien en place, le tour est joué : vous avez maintenant une solution simple, gratuite et efficace pour indiquer un paiement sur place, sans plugin premium.
Et si vous avez envie d’aller plus loin ?
Ce petit tuto vous a donné un aperçu de ce qu’on peut faire avec WordPress, un peu d’astuce et quelques lignes de code.
Si vous souhaitez aller plus loin, automatiser vos réservations, améliorer l’expérience utilisateur ou tout simplement gagner du temps, je peux vous aider à créer un site WordPress vraiment adapté à vos besoins.