Blog caritatif

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

Tutoriel : Comment ajouter du contenu spécifique à une campagne à l'e-mail de reçu de don

Dernière mise à jour le

  • Par

Si vous menez de nombreuses campagnes, vous pourriez avoir besoin d'ajouter du texte spécifique à une campagne à vos e-mails de reçu de don. Charitable ne prend pas en charge cela nativement, mais grâce à la flexibilité du code sous-jacent, il est possible de l'activer.

La solution

Pour résoudre ce problème, nous allons ajouter un nouveau champ à l'éditeur de campagne dans le tableau de bord WordPress. Ce champ vous permettra d'ajouter du contenu.

De plus, nous ajouterons une nouvelle balise d'e-mail qui pourra être ajoutée à n'importe quel e-mail de don, y compris le reçu de don.

Mieux encore, nous pouvons réaliser tout cela avec seulement deux fonctions PHP ! Voyons comment.

Étape 1 : Ajouter notre fonction

Tout d'abord, nous allons ajouter une fonction PHP qui sera exécutée 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.
} );

Notez que dans cet exemple, nous créons ce que l'on appelle une fonction anonyme ; essentiellement, il s'agit d'une fonction sans nom. C'est acceptable tant que vous utilisez une version de PHP supérieure à 5.2.

Vous ne savez pas comment ajouter du code à votre site ? Voici notre résumé de trois méthodes différentes pour ajouter du code personnalisé à votre site.

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

Depuis la version 1.6, Charitable inclut une API appelée Campaign Fields API qui offre un moyen simple d'ajouter de nouveaux champs à l'éditeur de campagne. Ceci fait suite à la Donation Fields API que nous avons ajoutée dans la version 1.5.

Notre prochaine étape consiste à utiliser la Campaign Fields API pour ajouter notre champ personnalisé à l'éditeur 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( 'campaign_email_content', array(
       'label' => 'Donation Email Content',
       'data_type' => 'meta',
       'admin_form' => array(
          'type' => 'textarea',
          'required' => false,
       ),
   ) );

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

} );

Dans ce code, nous créons d'abord un nouveau champ en créant un objet Charitable_Campaign_Field. Nous passons deux paramètres lors de la création de cet objet :

– Une clé – campaign_email_content
– Un tableau d'arguments

Nous n'utilisons qu'un sous-ensemble de tous les arguments possibles lors de l'enregistrement d'un champ de campagne. Pour voir les autres arguments disponibles, lisez la documentation exhaustive en ligne sur Github.

Si nous allons ajouter une nouvelle campagne ou en modifier une existante, nous verrons maintenant un panneau « Paramètres étendus », et à l'intérieur se trouve un champ « Contenu de l'e-mail de don ».

Étape 3 : Ajouter une balise d'e-mail de don

Maintenant que notre champ de campagne est en place, l'étape suivante consiste à créer une nouvelle balise d'e-mail pour les dons. Il y a plusieurs façons de le faire. Une option consiste à utiliser la Donation Fields API pour enregistrer un nouveau champ de don et ajouter automatiquement une balise d'e-mail pour celui-ci. Ce serait approprié si nous voulons utiliser le champ dans plusieurs endroits, comme l'exportation des dons ou dans les métadonnées du don.

Dans notre cas, nous voulons juste une balise d'e-mail, nous allons donc enregistrer uniquement cela. La première étape consiste à créer une nouvelle fonction qui sera appelée sur le hook de filtre charitable_email_donation_fields :

/**
 * We create a new function that will be called on the `charitable_email_donation_fields` filter.
 *
 * This function accepts two parameters:
 *
 * @param array $fields All registered donation email fields.
 * @param Charitable_Donation|null $donation When an email is being sent, this will be an instance of `Charitable_Donation`. Otherwise it's null.
 */
add_filter( 'charitable_email_donation_fields', function( $fields, $donation ) {
    Add our field here.
}, 10, 2 );

Comme pour notre fonction ci-dessus, il s'agit d'une fonction anonyme. Mais celle-ci accepte quelques paramètres. Puisque nous voulons utiliser deux paramètres, nous devons le spécifier dans la dernière ligne de code, où nous passons une priorité de 10 et le nombre de paramètres, 2.

Ensuite, nous allons créer une variable dans notre fonction appelée $field qui définira le champ.

/**
 * Define our field as an array.
 */
$field = array(
    'description' => 'Campaign-specific content',
    'preview' => 'This is some campaign-specific content.',
);

Jusqu'à présent, cela définit uniquement une description et une valeur de prévisualisation uniquement pour le champ. La valeur de prévisualisation est ce que vous voyez à la place du shortcode d'e-mail lorsque vous cliquez sur le bouton « Prévisualiser l'e-mail » dans l'e-mail.

Notre prochaine étape consiste à obtenir la valeur à afficher lorsqu'un e-mail est envoyé :

/**
 * When this filter is called with a Donation object, we need to set
 * the `value` of the field to the campaign content. The rest of the
 * time, we don't need a `value` parameter.
 */
if ( ! is_null( $donation ) ) {
    /**
     * Get the campaign that received the donation.
     */
    $campaign_id = current( $donation->get_campaign_donations() )->campaign_id;
    $campaign = charitable_get_campaign( $campaign_id );

    /**
     * Set the `value` of our field to the campaign's email content.
     */
    $field['value'] = $campaign->get( 'campaign_email_content' );
}

Dans ce code, nous vérifions d'abord si le paramètre $donation est null. Nous devons vérifier cela car ce filtre (charitable_email_donation_fields) n'est pas seulement appelé lorsqu'un e-mail de don est envoyé ; il est également appelé à d'autres moments. Par exemple, lorsque vous affichez la page des paramètres d'e-mail pour l'e-mail de reçu de don, ce filtre est appelé pour obtenir une liste complète des champs d'e-mail de don.

Lorsque nous savons que $donation n'est pas null, nous pouvons obtenir l'ID de la campagne en utilisant la méthode $donation->get_campaign_donations(), qui nous donne un ensemble de lignes contenant toutes les donations de campagne associées à une donation particulière. Sauf si vous créez des dons par programmation ou si vous utilisez notre intégration Easy Digital Downloads Connect, il n'y aura qu'une seule ligne. Nous obtenons donc la première ligne en utilisant current(), puis nous en obtenons la propriété campaign_id.

$campaign_id = current( $donation->get_campaign_donations() )->campaign_id;

Avec $campaign_id en main, nous pouvons appeler charitable_get_campaign( $campaign_id ) pour obtenir l'objet Charitable_Campaign.

$campaign = charitable_get_campaign( $campaign_id );

À son tour, nous définissons la propriété value de notre champ sur la valeur du champ campaign_email_content de la campagne — celui que nous avons enregistré à l'étape 2 ci-dessus.

$field['value'] = $campaign->get( 'campaign_email_content' );

Enfin, nous ajoutons notre champ au tableau $fields et retournons $fields, avec notre champ personnalisé inclus.

$fields['campaign_content'] = $field;

return $fields;

Étape 4 : Ajouter le shortcode au contenu de l'e-mail

Si vous avez suivi jusqu'ici, vous devriez maintenant avoir tout le code suivant :

/**
 * We are creating a function which will be called on the `init` hook.
 */
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( 'campaign_email_content', array(
		'label'      => 'Donation Email Content',
		'data_type'  => 'meta',
		'admin_form' => array(
			'type'     => 'textarea',
			'required' => false,
		),
	) );

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

} );

/**
 * We create a new function that will be called on the `charitable_email_donation_fields` filter.
 *
 * This function accepts two parameters and must return an array.
 *
 * @param array                    $fields   All registered donation email fields.
 * @param Charitable_Donation|null $donation When an email is being sent, this will be an instance of `Charitable_Donation`. Otherwise it's null.
 */
add_filter( 'charitable_email_donation_fields', function( $fields, $donation ) {
	/**
	 * Define our field as an array.
	 */
	$field = array(
		'description' => 'Campaign-specific content',
		'preview'     => 'This is some campaign-specific content.',
	);

	/**
	 * When this filter is called with a Donation object, we need to set
	 * the `value` of the field to the campaign content. The rest of the
	 * time, we don't need a `value` parameter.
	 */
	if ( ! is_null( $donation ) ) {
		/**
		 * Get the campaign that received the donation.
		 */
		$campaign_id = current( $donation->get_campaign_donations() )->campaign_id;
		$campaign    = charitable_get_campaign( $campaign_id );

		/**
		 * Set the `value` of our field to the campaign's email content.
		 */
		$field['value'] = $campaign->get( 'campaign_email_content' );
	}

	/**
	 * Finally, we add our new field to the `$fields` array.
	 *
	 * The key used here (`campaign_content`) will become the email tag
	 * key, so the email tag would be shown like this:
	 *
	 * [charitable_email show=campaign_content]
	 */
	$fields['campaign_content'] = $field;

	return $fields;

}, 10, 2 );

Il n'y a que deux fonctions incluses ici, mais ensemble, elles font tout ce dont nous avons besoin.

La dernière étape consiste à ajouter le shortcode de l'e-mail au corps de l'e-mail, ce qui peut être fait dans la zone des paramètres d'e-mail :

Une fois que vous avez fait cela, testez tout en modifiant l'une de vos campagnes, en définissant un contenu de campagne, puis en ajoutant un don de test à la campagne. L'e-mail devrait contenir votre contenu personnalisé spécifique à la campagne.

Astuce bonus : Ajouter une balise d'e-mail Easy Digital Downloads

Si vous utilisez notre extension Easy Digital Downloads Connect et que vous souhaitez afficher votre contenu spécifique à la campagne dans les e-mails d'achat d'EDD, vous pouvez copier le code de ce gist :

Voir le gist original sur GitHub →

Vous avez apprécié ?

Je prévois d'écrire d'autres tutoriels comme celui-ci pour illustrer différentes façons de personnaliser et d'affiner Charitable pour répondre à vos besoins. Ce tutoriel en particulier a été écrit en réponse à la demande d'un utilisateur, donc si vous avez une idée de sujet que vous aimeriez que je couvre à l'avenir, envoyez-nous un e-mail via notre page de support ou laissez un commentaire ci-dessous.

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.

2 réponses à « Tutoriel : Comment ajouter du contenu spécifique à la campagne à l'e-mail de reçu de don »

  1. C'est super ! Le HTML peut-il être utilisé dans ce champ pour mettre une phrase en gras, par exemple ?

    1. Avatar ericnicolaas
      ericnicolaas

      Bonne question Josh ! Le HTML devrait fonctionner ici.

      Cordialement,
      Eric

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.