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 !

Nouveau modèles

🤩 Nouveaux modèles de campagne Beacon avec bloc « Héros » !

Avec les nouveaux modèles de campagne Beacon pour Charitable Pro, vous pouvez lancer une page de collecte de fonds époustouflante sur toute la largeur qui capte instantanément l’attention des visiteurs au-dessus de la ligne de flottaison.

En-tête de la page de collecte de fonds pour Sauver le parc Maple Grove avec un widget de don et une petite photo carrée d'une miniature d'arbre ensoleillé à gauche.

🔦 Impact au-dessus de la ligne de flottaison : commencez avec une image principale sur toute la largeur, votre logo et votre objectif avec un widget de don directement sur la bannière afin que votre demande et votre élan soient enregistrés instantanément sans faire défiler.

📐 Deux mises en page flexibles : choisissez entre une mise en page structurée à deux colonnes pour le récit côte à côte et les détails de support, ou une vue épurée à une colonne conçue pour des récits longs et ininterrompus.

⚡ Champ Héros tout-en-un : alimenté par le nouveau champ Héros de campagne, réunissant les médias d’arrière-plan, les barres de progression en direct, les montants de don personnalisés et les onglets de dons récurrents dans un seul bloc cohérent qui peut être intégré dans n’importe quelle mise en page.

🎨 Correspondance automatique des thèmes : la bannière principale et le widget de don héritent automatiquement des couleurs de bouton et d’accent de votre thème de campagne, garantissant que l’ensemble de votre présentation reste magnifiquement fidèle à la marque sans toucher une ligne de CSS.

En savoir plus ici.

formulaire de don Fonctionnalité Nouveau

📝 Bloc de formulaire de don : Intégrez un formulaire de don fonctionnel n'importe où

Avec le nouveau bloc de formulaire de don pour Charitable Pro, vous pouvez placer un formulaire de don entièrement fonctionnel directement sur n'importe quelle page ou publication dans l'éditeur de blocs WordPress. Pas de redirections, pas de rechargements de page, et zéro friction entre la lecture de votre histoire et la contribution.

📝 Placez des formulaires n'importe où : Placez un formulaire fonctionnel directement sur votre page d'accueil, à l'intérieur d'une publication de blog axée sur l'histoire, sur une page de destination dédiée, ou dans une annonce de campagne.

🎯 Liaison dynamique de campagne : Choisissez facilement une campagne spécifique dans la barre latérale du bloc ou définissez-la pour qu'elle se lie automatiquement à la campagne en cours de visualisation.

📐 Vues de formulaire complètes vs minimales : Basculez entre une mise en page complète ou une vue minimale compacte pour s'adapter parfaitement aux barres latérales, aux colonnes étroites ou aux larges pages de destination.

🎨 Styles sans code ciblés : Personnalisez la typographie, l'espacement des conteneurs, le rayon des bordures, les boutons de montant et les couleurs d'accent indépendamment pour chaque instance de formulaire sans toucher une ligne de CSS.

En savoir plus ici.

ambassadeurs Nouveau

👤 Profils des créateurs : Mettez un visage derrière chaque campagne pair-à-pair

Ambassadors 3.3.0 propose désormais des profils de créateurs, offrant à vos supporters un espace public permanent et partageable qui transforme les collecteurs de fonds ponctuels en relations durables.

👤 Pages publiques des créateurs : Donnez à chaque collecteur de fonds une page de destination instantanée et soignée sur /creator/leur-nom/ pour présenter leur avatar personnalisé, leur biographie et une grille consultable de leurs campagnes.

📊 Preuve d'impact : Renforcez la confiance des donateurs en affichant les jalons de l'ensemble du site sur le profil, tels que le montant total collecté et le nombre total de donateurs.

💳 Cartes interactives au survol : Lorsque les donateurs survolent le nom d'un créateur sur une page de campagne, une carte compacte s'affiche avec sa biographie et ses identifiants sociaux au moment de la décision.

📍 Partage responsable de la localisation : Permettez aux créateurs d'indiquer en toute sécurité où se trouvent leurs supporters locaux en utilisant uniquement les détails de la ville, de l'État et du pays.

🛠️ Personnalisation en libre-service : Les collecteurs de fonds peuvent mettre à jour leurs propres profils et lier jusqu'à six réseaux sociaux directement depuis le hub Mes campagnes, ce qui vous fait gagner du temps d'administration.

Prêt à responsabiliser vos défenseurs ? Mettez à jour vers Ambassadors 3.3.0 et activez "Activer la page publique du créateur" dès aujourd'hui !

Amélioration Paiements

📱 Transformez les utilisateurs mobiles en donateurs : Découvrez la mise à niveau Mollie de Charitable

Vous perdez des supporters mobiles parce qu'ils détestent taper de longs numéros de carte sur leur téléphone ? L'intégration Mollie mise à jour de Charitable propose :

⚡ Paiement instantané via portefeuille : Permettez aux donateurs d'effectuer leurs dons instantanément en utilisant Apple Pay ou Google Pay avec une simple analyse faciale, une empreinte digitale ou un toucher.

💰 Pas de charge PCI supplémentaire : Évitez la vérification complexe du domaine et la conformité de sécurité, car toutes les transactions de portefeuille s'effectuent en toute sécurité via le paiement hébergé de Mollie.

🛠️ Routage personnalisé de l'annulation : Gardez l'expérience prévisible en renvoyant automatiquement les donateurs qui se retirent vers votre page d'annulation, ou utilisez des filtres de développeur pour les rediriger vers une page personnalisée.

Visitez cette page pour en savoir plus.

ambassadeurs amélioré Nouveau

Écrans de modération et d'annuaire dans Ambassadors 3.0

Ambassadors 3.0 propose de nouvelles fonctionnalités : écrans de modération et d'annuaire... voyez facilement ceux qui gagnent des dons sur votre réseau pair-à-pair, y compris les créateurs de campagnes qui pourraient avoir besoin d'être vérifiés, le tout en un seul endroit. Générez des rapports, envoyez des e-mails directement aux ambassadeurs et aux créateurs de campagnes, et plus encore.

🚀 Voyez quand les créateurs de campagnes et les ambassadeurs ont mis à jour leurs campagnes, ce que les donateurs/dons qu'ils ont apportés et plus encore.

🎉 Ajoutez manuellement des ambassadeurs et des créateurs de campagnes, et approuvez-les en un clic !

Visitez cette page pour en savoir plus.