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 !

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.