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

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 :

  1. Allez dans Extensions > Ajouter.
  2. Recherchez Advanced Custom Fields.
  3. Cliquez sur Installer, puis Activer.
Image de l'extension ACF depuis l'admin WordPress avant l'installation

Étape 2 : Créer un groupe de champs

Une fois l’extension activée :

  1. Allez dans Custom Fields > Ajouter.
  2. Donnez un nom à votre groupe, par exemple : « Evènement ».
  3. 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
Image montrant comment ajouter le champs acf "Prix Ă  payer sur place" pour The Event Calendar

É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).
Image des régles de localisation en bas du groupe de champs ACF pour assigner ce groupe au type de publication de The Events Calendar

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.

Exemple aperçut du groupe de champs dans un post du type évènement de The Event Calendar

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 :

Exemple de résultat avec la mention Paiement de x€ sur place avec The Events Calendar
Exemple de résultat avec la mention Paiement de x€ sur place avec The Events Calendar sur la liste des événements

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.

Photo de profil du compte Google d'Anthony Letizia
Photo de profil du compte Google de Sarah Carle
Photo de profil du compte Google de Damien Verdillon
Photo de profil du compte Google de Sylvaine Montagnat
Photo de profil du compte Google d'alexis Schweitzer
Photo de profil de moi (Cédric Chevillard) concernant la partie prise de contact pour mon service de création de site internet à Grenoble