Blog caritatif

Tout ce que vous devez savoir sur Charitable et notre équipe.

Tutoriel : Définir des pages de reçus personnalisées par campagne

Dernière mise à jour le

  • Par

Par défaut, votre site aura une seule page de reçu de don, vers laquelle les donateurs seront automatiquement redirigés après avoir effectué leur don.

Vous pouvez utiliser la page de reçu générée automatiquement fournie par Charitable dès l'installation, ou vous pouvez spécifier une page particulière à utiliser comme page de reçu de don. Consultez le guide ci-dessous si vous n'êtes pas sûr de la manière de procéder :

Mais que faire si vous voulez utiliser une page de reçu différente pour différentes campagnes ? Ce n’est pas possible dès l'installation, mais grâce à la flexibilité intégrée de Charitable, il est possible d’y parvenir avec seulement deux fonctions PHP.

La solution

Notre solution ajoutera un nouveau champ à l'éditeur de campagne qui vous permettra de sélectionner une page statique comme page de reçu de don pour votre campagne. Sauf si vous choisissez une page spécifique, elle utilisera l'option par défaut, qui est celle définie dans Charitable > Paramètres > Général pour l'option « Page de reçu de don ».

J'expliquerai la solution ci-dessous, mais si vous voulez juste le code, vous pouvez le télécharger depuis Github :

https://github.com/Charitable/Charitable-Custom-Campaign-Receipt-Pages

Étape 1 : Ajouter notre fonction

Comme pour les deux derniers tutoriels, celui-ci commence par une fonction PHP qui s'exécutera lorsque le hook init sera appelé dans WordPress. init est un hook qui se produit tôt pendant le chargement de WordPress, avant que la page ne commence à s'afficher.

add_action( 'init', function() {
    // Our code will go in here.
} );

Nous utilisons ici une fonction anonyme, ce qui est tout à fait acceptable tant que vous utilisez une version de PHP supérieure à 5.2.

Si vous n'êtes pas sûr de la manière d'ajouter cela à votre site, consultez notre guide :

Étape 2 : Ajouter le champ à l'éditeur de campagne

Nous pouvons maintenant ajouter notre paramètre « Page de reçu de don » en enregistrant un nouveau champ à l'aide de l'API des champs de campagne.

add_action( 'init', function() {

	/**
	 * Create a new field as an instance of `Charitable_Campaign_Field`.
	 *
	 * See all available arguments at:
	 *
	 * @https://github.com/Charitable/Charitable/blob/ef9a468fbdd6fa83307abe6ac0c38896f625cf45/includes/fields/class-charitable-campaign-field.php
	*/
	$campaign_field = new Charitable_Campaign_Field( 'donation_receipt_page', array(
		'label'      => 'Donation Receipt Page',
		'data_type'  => 'meta',
		'admin_form' => array(
			'type'     => 'select',
			'required' => false,
			'options'  => array(
				'default' => 'Use the default donation receipt page',
				'pages'   => array(
					'options' => charitable_get_pages_options(),
					'label'   => 'Pages',
				),
			),
			'default'  => 'default',
			'section'  => 'campaign-donation-options',
		),
                'show_in_export' => true,
	) );

	/**
	 * Now, we register our new field.
	 */
	charitable()->campaign_fields()->register_field( $campaign_field );

} );

C'est la même approche que celle que nous avons utilisée dans les deux tutoriels précédents, donc si vous les avez lus, cela vous semblera assez familier. Une nouveauté réside dans la configuration du paramètre admin_form du champ :

'admin_form' => array(
	'type'     => 'select',
	'required' => false,
	'options'  => array(
		'default' => 'Use the default donation receipt page',
		'pages'   => array(
			'options' => charitable_get_pages_options(),
			'label'   => 'Pages',
		),
	),
	'default'  => 'default',
	'section'  => 'campaign-donation-options',
),

Le type est défini sur select, ce qui signifie qu'un champ de sélection déroulante sera utilisé. Les champs de sélection nécessitent un ensemble d'options, qui sont passées sous forme de tableau. Notre tableau comprend d'abord un choix default, suivi d'une liste de pages, récupérées à l'aide de la fonction charitable_get_pages_options(). Si vous êtes familier avec HTML, la façon dont cela est structuré signifie que le tableau options à l'intérieur de pages crée un élément optgroup, avec label défini comme étiquette.

Notre nouveau champ Page de reçu de don

Étape 3 : Remplacer la page de reçu de don par défaut

Dans Charitable, l'URL du reçu de don pour un don particulier est récupérée comme suit :

charitable_get_permalink( 'donation_receipt_page', array(
    'donation_id' => $donation_id,
) );

Cette fonction utilise à son tour l'API des points d'accès, qui fournit un moyen structuré de gérer les points d'accès importants au sein de Charitable, tels que les campagnes, les pages de dons, la page de connexion et la page de reçu de don.

Ce qui est important dans notre cas, c'est que le permalien retourné peut être filtré. Dans le cas de la page de reçu de don, le filtre à utiliser est charitable_permalink_donation_receipt_page. Il fournit deux paramètres :

  • $default – Le permalien par défaut à utiliser. Nous nous rabattrons sur celui-ci si la campagne n'a pas défini de page de reçu personnalisée, ou si elle utilise celui par défaut.
  • $args – Un tableau contenant l'ID du don.

Étape 3a : Créer la structure de la fonction de rappel

Tout d'abord, examinons la structure de notre fonction de rappel :

/**
 * Filter the page to redirect the donor to after making their donation.
 *
 * @param  string $default The endpoint's URL.
 * @param  array  $args    Mixed set of arguments.
 * @return string
 */
add_filter( 'charitable_permalink_donation_receipt_page', function( $default, $args ) {

   // Code goes here.

}, 10, 2 } );

Comme vous pouvez le voir, nous définissons une fonction anonyme qui est accrochée au filtre charitable_permalink_donation_receipt_page. Il est important de noter que notre dernière ligne définit la fonction de rappel pour qu'elle fonctionne avec la priorité 10 (la valeur par défaut) et reçoive 2 paramètres.

Étape 3b : Obtenir la campagne pour le reçu du don

Le paramètre $args inclura une propriété donation_id. Nous l'utilisons pour obtenir un objet Charitable_Donation, et à son tour, nous l'utilisons pour obtenir l'objet Charitable_Campaign :

/**
 * Get the donation object.
 */
$donation_id = isset( $args['donation_id'] ) ? $args['donation_id'] : get_the_ID();
$donation    = charitable_get_donation( $donation_id );

/**
 * Get the campaign that received the donation.
 */
$campaign_id = current( $donation->get_campaign_donations() )->campaign_id;
$campaign    = charitable_get_campaign( $campaign_id );

Étape 3c : Obtenir la page de reçu du don de la campagne

Maintenant que nous avons un objet Charitable_Campaign, nous pouvons obtenir le paramètre de la page de reçu du don pour la campagne avec la méthode get() :

/**
 * Get the campaign's donation receipt page.
 */
$receipt_page = $campaign->get( 'donation_receipt_page' );

Étape 3d : Vérifier s'il faut renvoyer l'URL du reçu par défaut

N'oubliez pas que vous pouvez définir la campagne pour qu'elle utilise le reçu par défaut. Il est également possible que vous n'ayez pas mis à jour votre campagne depuis l'ajout du paramètre Page de reçu du don, auquel cas la variable $receipt_page sera false. Si l'un de ces cas se présente, nous renverrons la variable $default car nous n'avons pas de reçu personnalisé pour cette campagne :

/**
 * If we haven't set a donation receipt page or we chose
 * the default option, return the default.
 */
if ( ! $receipt_page || 'default' == $receipt_page ) {
    return $default;
}

Étape 3e : Renvoyer l'URL du reçu personnalisé

Si nous sommes toujours là à ce stade, cela signifie qu'une page de reçu personnalisée est définie pour cette campagne. Tout ce qu'il reste à faire est d'obtenir le permalien de cette page, puis d'y ajouter le donation_id, ainsi que donation_receipt. L'URL résultante ressemblera à ceci :

https://mysite.com/my-custom-receipt-page/?donation_id=123&donation_receipt=1

Voici comment nous procédons :

/**
 * Get the permalink for the receipt page and then append
 * the donation_id and donation_receipt arguments to it.
 */
$receipt_page_url = get_permalink( $receipt_page );
$receipt_page_url = add_query_arg(
	array(
		'donation_id'      => $donation_id,
		'donation_receipt' => 1,
	),
	$receipt_page_url
);

/**
 * Return the escaped URL.
 */
return esc_url_raw( $receipt_page_url );

get_permalink est un plugin WordPress de base utilisé pour obtenir l'URL d'une page ou d'un article particulier. Nous l'utilisons comme base pour notre URL, puis nous y ajoutons les arguments de requête requis avec add_query_arg. Enfin, nous la renvoyons sous forme de valeur échappée avec esc_url_raw.

Étape supplémentaire : Configurer votre page de reçu de don personnalisée

Cette solution vous permet d'utiliser n'importe quelle page comme page de reçu de don. Il est probable que vous souhaitiez afficher des informations sur le don au donateur lorsqu'il arrive sur la page du reçu. Pour inclure cela, vous pouvez utiliser le shortcode [donation_receipt] ; il affichera les informations dynamiques du reçu qui sont normalement affichées sur les reçus Charitable.

Idées bonus pour personnaliser la page de reçu du don

Nous avons vu ici comment personnaliser la page de reçu du don sur une base par campagne. Mais que faire si vous souhaitez utiliser une page de reçu de don différente en fonction d'un autre facteur ?

Sur notre bibliothèque d'extraits de code, nous avons quelques extraits disponibles qui vous montrent comment utiliser un reçu de don différent dans d'autres scénarios :

Vous avez une idée pour un autre tutoriel ?

Si vous avez une idée pour un autre tutoriel, j'aimerais beaucoup l'entendre ! Laissez un commentaire ci-dessous ou contactez-nous via notre page d'assistance.

Divulgation : Notre contenu est soutenu par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Nous ne recommandons que les produits qui, selon nous, ajouteront de la valeur à nos lecteurs.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués d'une *

Recevez des conseils et des ressources gratuits directement dans votre boîte de réception, ainsi que 60 000 autres personnes

Rejoignez notre newsletter

Nous ne vous enverrons pas de spam. Nous envoyons un e-mail uniquement lorsque nous pensons qu'il vous sera réellement utile. Désabonnez-vous à tout moment !

Vidéo en vedette :

Regardez plus de vidéos sur notre chaîne YouTube.

Quoi de neuf dans Charitable

Voir les dernières mises à jour
🔔 Abonnez-vous pour recevoir nos dernières mises à jour
📧 Abonnez-vous aux e-mails

Abonnement par e-mail

Rejoignez notre newsletter

Nous ne vous enverrons pas de spam. Nous envoyons un e-mail uniquement lorsque nous pensons qu'il vous sera réellement utile. Désabonnez-vous à tout moment !

Amélioration Paiements

💰 Acceptez les dons récurrents avec Windcave et Charitable

Un donateur configure son don une seule fois sur la page de paiement sécurisée de Windcave, et Charitable facture chaque renouvellement par la suite selon le calendrier établi. Pourquoi c'est important :

🏦 Organisations basées en Nouvelle-Zélande ou en Australie : dons mensuels sur la passerelle avec laquelle votre banque vous a déjà configuré, sans second processeur à intégrer.
⛪ Églises acceptant les dîmes et offrandes régulières : les membres de la congrégation définissent leur propre calendrier une fois, ce qui est le moyen le plus simple de lancer des dons d'église récurrents sans plateforme distincte.
🌏 Groupes avec des donateurs dans plusieurs devises : Windcave en gère plus de 20, ainsi un sympathisant peut donner dans la devise qu'il détient réellement.
📅 Fonds de fonctionnement plutôt que des campagnes ponctuelles : activez le mode « Récurrent uniquement » et l'option ponctuelle disparaît, de sorte que chaque don à cette campagne est un abonnement.
🧾 Équipes sans développeur attitré : 3 jeux d'identifiants collés sur une page de paramètres, et aucun code nulle part.

Consultez notre annonce ici.

automatisation mettre à jour

⚡ Générateur d'automatisation visuelle : Glisser-déposer sans code !

Charitable Automation Connect 2.3.0 introduit le Générateur d'automatisation visuelle, une zone d'édition plein écran qui présente chaque automatisation sous forme de flux de cartes connectées : un déclencheur, des conditions facultatives et une liste d'actions exécutées dans l'ordre.

🧩 De nombreuses actions, un seul déclencheur : Taguez un donateur, envoyez un e-mail, ajoutez une note et déclenchez un webhook à partir d'un seul événement, disposés dans n'importe quel ordre.

✉️ Agissez à l'intérieur de Charitable : Les nouvelles actions Envoyer un e-mail, Taguez un donateur et Ajoutez une note de donateur s'exécutent sans service externe requis.

🔤 Étiquettes de fusion : Personnalisez les e-mails et les notes avec des champs dynamiques tels que {first_name}, {total} et {campaign_name}.

🔁 Appliquer aux donateurs existants : Exécutez Taguez un donateur et Ajoutez une note de donateur sur les donateurs que vous avez déjà.

🖥️ Zone d'édition ou Simple : Changez de vue à tout moment, et les automatisations créées avant la version 2.3.0 continueront de fonctionner sans modification.

En savoir plus ici.

Intégration mis à jour

📬 Présentation de Brevo pour Charitable : Transformez automatiquement les donateurs en abonnés

Le moment où un donateur fait un don est le moment où il est le plus engagé. Avec la nouvelle intégration Brevo pour Charitable, vous pouvez transformer automatiquement ces donateurs ponctuels en abonnés à long terme sans toucher à une seule feuille de calcul.

Collectez simplement le consentement du donateur directement sur votre formulaire de don et lancez votre série de bienvenue immédiatement.

Quoi de neuf :

🔄 Synchronisation automatisée des abonnés : Les nouveaux donateurs qui donnent leur accord sont ajoutés directement à votre liste de contacts Brevo dès que leur paiement est traité, sans aucune exportation manuelle ni importation de CSV.

🎯 Contrôle granulaire du consentement et de l'opt-in : Personnalisez le libellé de votre case à cocher, choisissez si elle est cochée par défaut ou non, ou activez le double opt-in de Brevo pour maintenir votre liste propre et conforme.

📋 Mappage de liste par campagne : Dirigez les sympathisants vers votre liste d'e-mails globale ou mappez des campagnes spécifiques à des listes Brevo ciblées pour adapter vos messages de suivi.

⚡ Configuration en 5 minutes : Connectez-vous instantanément en collant votre clé API Brevo dans les paramètres de Newsletter, mappez vos champs de contact et commencez à construire votre liste d'e-mails en mode pilote automatique.

Prêt à développer votre liste de diffusion ? Brevo est disponible dès maintenant à partir du plan Charitable Plus — connectez votre compte dès aujourd'hui !

dons récurrents mis à jour

💳 Mises à jour de carte : Corrigez les cartes expirées sans perdre vos abonnements !

Les cartes de crédit expirées ou mises à jour sont l’une des plus grandes fuites silencieuses dans les collectes de fonds récurrentes. Avec les mises à jour de carte dans l’extension Dons récurrents, les donateurs peuvent désormais actualiser leurs informations de paiement directement, en conservant leur abonnement, leur calendrier et leur historique de dons complètement intacts.

Aucun plan annulé, aucun historique perdu et zéro casse-tête administratif pour votre équipe.

Quoi de neuf :

⚡ Assistance en 30 secondes : les donateurs obtiennent un bouton « Mettre à jour la carte » dédié dans leur tableau de bord qui ouvre le portail client sécurisé et conforme PCI de Stripe pour mettre à jour instantanément les détails de la carte.

🔒 Accès sécurisé et limité : limité exclusivement aux mises à jour de carte par défaut, les donateurs ne peuvent pas annuler ou modifier accidentellement leurs plans depuis le portail, en gardant vos webhooks et vos données synchronisés.

🤝 Assistance administrative : vous aidez un donateur par téléphone ? Ouvrez son portail Stripe sécurisé en un clic depuis votre écran d’administration ou générez un lien de mise à jour à usage unique à lui envoyer par e-mail.

📋 Piste d’audit automatique : chaque mise à jour de méthode de paiement est enregistrée automatiquement avec un horodatage dans les journaux système et le profil du donateur individuel.

Prêt à protéger vos revenus récurrents ? Obtenez le forfait Plus ou Pro et mettez à jour Dons récurrents vers la version 2.3.0+ et activez « Mettre à jour la méthode de paiement » dans vos Paramètres dès aujourd’hui !

Intégration constructeur de pages

Les fans de Divi se réjouissent ! Module natif de barre de progression de campagne Divi 5 !

Avec notre nouveau module natif Divi 5, vous pouvez ancrer vos microsites avec des statistiques de collecte de fonds en temps réel directement sur la toile visuelle. Voici comment cela fonctionne et pourquoi il est intéressant de l'activer dès aujourd'hui.

Créez des mises à jour de campagne VISUELLES ET EN DIRECT. Vous pouvez également :

📊 Barre de progression de campagne : Insérez une barre de progression en direct dans n'importe quelle mise en page Divi 5 et affichez la progression de l'objectif en temps réel.

🎨 Contrôles de style approfondis : Personnalisez facilement la couleur de la barre et de la piste, la hauteur et le rayon pour qu'ils correspondent parfaitement à votre marque.

👁️ Prêt pour le Visual Builder : Configurez et prévisualisez tout directement sur la toile Divi en tant que module de première classe.

🔁 Rendu identique : Le même moteur exact alimente ce module, ce qui signifie une conception cohérente sans correctifs hérités.

✅ Lancements plus rapides : Ne quittez jamais l'interface Divi 5 pour configurer des shortcodes ou deviner à quoi ressembleront vos étiquettes d'objectif.

En savoir plus ici.