Blog caritatif

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

AWARE : bannière de la campagne 30 for 30

Un aperçu de la campagne de financement unique « 30 pour 30 » d'AWARE Whistler (Tutoriel)

Dernière mise à jour le

  • Par

AWARE Whistler est une organisation caritative engagée dans la protection de l'environnement naturel de Whistler, Canada. Elle marque cette année son 30e anniversaire en tant qu'organisation et célèbre l'occasion en lançant la campagne de financement 30 for 30 Fundraiser.

L'objectif de la campagne « 30 for 30 Fundraiser » est de collecter 60 000 $, dont 30 000 $ provenant des entreprises et 30 000 $ de dons individuels.

AWARE utilise l'approche de financement axée sur les campagnes de Charitable pour alimenter cette campagne, avec deux campagnes de financement individuelles mises en place : une pour les entreprises et une pour les particuliers.

Le défi

Bien sûr, des campagnes uniques comme celle-ci ont tendance à avoir des besoins uniques, et la campagne « 30 for 30 Fundraiser » ne fait pas exception.

Étant donné que l'une des deux campagnes de financement est spécifiquement axée sur l'obtention de dons d'entreprises, un champ « Nom de l'entreprise » est nécessaire dans le formulaire de don de cette campagne. De plus, lorsque les donateurs sont affichés sur le site (en utilisant le shortcode ou le widget Donateurs), c'est le nom de l'entreprise qui doit être affiché, et non le nom de la personne qui fait le don.

Heureusement, la flexibilité de Charitable est parfaitement adaptée aux besoins d'AWARE. Voyons comment.

Étape 1. Ajouter un champ « Nom de l'entreprise »

La première chose à faire est de créer un nouveau champ de don, en utilisant l'API des champs de don.

Examinons le code requis pour y parvenir :

/**
 * STEP 1: Register the "Company Name" Donation Field.
 *
 * On the `init` hook, we create a new Donation Field. It has a
 * key of `company_name` (this is how we will reference it later),
 * and it's set up as a required field in the donation form, shown
 * after the `last_name` field.
 */
add_action( 'init', function() {
        /**
         * Add a "Company Name" field.
         */
        $field = new Charitable_Donation_Field(
            'company_name',
            [
                'label' => 'Company Name',
                'data_type' => 'user',
                'donation_form' => [
                    'show_after' => 'last_name',
                    'required' => true,
                ],
                'admin_form' => true,
                'show_in_meta' => true,
                'show_in_export' => true,
                'email_tag' => [
                    'description' => 'The company name',
                ],
            ]
        );

        /**
         * Register the field.
         */
        charitable()->donation_fields()->register_field( $field );
}, 100 );

Il y a un peu de choses qui se passent ici. Tout d'abord, tout en haut, nous configurons une fonction à exécuter lors du hook init. C'est le meilleur hook à utiliser chaque fois que vous souhaitez enregistrer un nouveau champ de don.

À l'intérieur de notre fonction, nous créons un nouveau champ de don avec l'objet Charitable_Donation_Field. Examinons de plus près ce passage :

$field = new Charitable_Donation_Field(
     'company_name',
     [
         'label' => 'Company Name',
         'data_type' => 'user',
         'donation_form' => [
             'show_after' => 'last_name',
             'required' => true,
         ],
         'admin_form' => true,
         'show_in_meta' => true,
         'show_in_export' => true,
         'email_tag' => [
             'description' => 'The company name',
         ],
     ]
 );

Ce que nous faisons ici, c'est créer un champ avec une clé de company_name (nous en aurons besoin plus tard). Nous avons défini une étiquette, l'avons défini comme un champ utilisateur et avons défini quelques règles de base sur la façon dont il doit apparaître dans le formulaire de don : juste après le champ last_name et comme champ obligatoire.

Nous l'avons également configuré pour qu'il s'affiche dans le formulaire de don de l'administrateur, les métadonnées du don et le fichier d'exportation des dons. Nous avons même indiqué à Charitable de créer une balise d'e-mail pour celui-ci, afin que nous puissions l'utiliser dans nos e-mails de reçu de don.

Enfin, nous enregistrons ce champ auprès de l'API des champs de don :

charitable()->donation_fields()->register_field( $field );

Étape 2. Afficher le champ « Nom de l'entreprise » uniquement sur une campagne

Par défaut, lorsque vous configurez un champ de don, il apparaît dans le formulaire de don de chaque campagne. Pour la campagne « 30 for 30 », AWARE souhaite que le champ n'apparaisse que dans le formulaire de don de la campagne des entreprises.

Voici comment nous y parvenons :

/**
 * STEP 2: Only show the field on a specific campaign.
 *
 * We only want the field to show up on a single campaign's
 * form, so we *remove* it from all other campaigns' donation
 * forms.
 */
add_filter( 'charitable_donation_form_user_fields', function( $fields, Charitable_Donation_Form $form ) {
    /**
     * Check the campaign ID of the donation form being
     * shown. If it isn't the one where we want the field,
     * remove the field using the unset() function.
     */
    if ( 123 != $form->get_campaign()->ID ) {
        unset( $fields['company_name'] );
    }

    return $fields;
}, 10, 2 );

La façon dont nous résolvons ce problème est de *supprimer* le champ company_name lorsque nous n'affichons *pas* le formulaire de don de la campagne des entreprises. Toute la magie opère ici :

if ( 123 != $form->get_campaign()->ID ) {
     unset( $fields['company_name'] );
 }

Dans ce cas, nous imaginons que la campagne Business a un ID de 123. Ainsi, lorsque nous examinons les champs d'un formulaire particulier, nous vérifions l'ID de la campagne pour le formulaire, et s'il n'est pas 123, nous utilisons la fonction unset() pour supprimer notre champ, en le référençant par la clé de company_name, que nous avons définie à l'étape 1.

Étape 3. Personnalisez le nom du donateur dans le shortcode ou le widget Donateurs

Maintenant que nous avons ajouté notre champ Nom de l'entreprise, il ne nous reste plus qu'à l'utiliser à la place du prénom et du nom du donateur lors de l'affichage des dons pour la campagne Business.

Voyons le code :

/**
 * STEP 3: Use the company name for the donor name.
 *
 * When showing the donor name for a particular donation,
 * check if the donation was to the campaign with our
 * Company Name field. If it was, show the Company Name
 * instead of the individual's name.
 */
add_filter( 'charitable_donor_loop_donor_name', function( $name, $args ) {
    /**
     * Get the Donor object from the argument array.
     */
    $donor = $args['donor'];

    /**
     * Check if there is a Donation object associated
     * with this Donor.
     */
    $donation = $donor->get_donation();

    if ( ! $donation ) {
        return $name;
    }

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

    /**
     * If this was a donation to our campaign,
     * let's change the donor name.
     */
    if ( 123 == $campaign_id ) {
        $name = $donation->get( 'company_name' );
    }

    return $name;
}, 15, 2 );

Tout d'abord, remarquez que ceci est configuré comme une fonction appelée sur le hook charitable_donor_loop_donor_name. Nous utilisons ce hook car il est affiché chaque fois qu'une liste de donateurs est affichée avec le widget Donateurs ou le shortcode.

À l'intérieur de la fonction, nous obtenons d'abord l'objet Charitable_Donor à partir du paramètre $args. Nous obtenons ensuite l'objet Charitable_Donation via la méthode $donor->get_donation() :

/**
 * Check if there is a Donation object associated
 * with this Donor.
 */
$donation = $donor->get_donation();

if ( ! $donation ) {
    return $name;
}

Vous vous demandez peut-être pourquoi nous vérifions si $donation est défini. La raison en est que parfois, Charitable_Donor n'est pas configuré avec un don spécifique. Un tel exemple est lorsque le widget/shortcode Donateurs est configuré pour regrouper plusieurs dons du même donateur en un seul — dans ce cas, aucun objet Charitable_Donation n'est appelé, et nous afficherons simplement le nom du donateur.

Par conséquent, une mise en garde importante de cette approche est qu'elle ne fonctionnera que si le widget/shortcode Donateurs est configuré pour afficher chaque don individuellement, au lieu de regrouper plusieurs dons de la même personne.

Ensuite, nous utilisons l'objet Charitable_Donation pour découvrir à quelle campagne le don a été fait, et vérifions s'il s'agit de notre campagne Business (celle avec l'ID 123) :

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

/**
 * If this was a donation to our campaign,
 * let's change the donor name.
 */
if ( 123 == $campaign_id ) {
    $name = $donation->get( 'company_name' );
}

La dernière partie de ceci vérifie simplement que $campaign_id est 123. Si c'est le cas, nous obtenons le nom de l'entreprise comme ceci :

$donation->get( 'company_name' );

Notez que company_name correspond à la clé du champ de don que nous avons enregistré à l'étape 1.

Et avec cela, nous avons terminé !

La solution complète

Vous pouvez voir tout le code réuni en un seul endroit dans notre bibliothèque de code Github :

https://github.com/Charitable/library/blob/master/tutorials/new-donation-field-plus-customized-donor-name.php

Pour le voir en action – et si vous souhaitez soutenir le travail important accompli par AWARE Whistler – visitez la page 30 for 30 Fundraiser sur leur site web.

Mot de la fin

Si vous avez apprécié ce tutoriel et souhaitez que nous en écrivions un sur un sujet différent, faites-le nous savoir ! Vous pouvez nous contacter par e-mail en remplissant le formulaire sur notre page Support, ou laisser 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.

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.