Gemeinnütziger Blog

Alles, was Sie über Charitable und unser Team wissen müssen.

AWARE: 30 for 30 Kampagnenbanner

Einblicke in AWARE Whistlers einzigartige „30 for 30“-Spendenaktion (Anleitung)

Zuletzt aktualisiert am

  • Von

AWARE Whistler ist eine Wohltätigkeitsorganisation, die sich dem Schutz der natürlichen Umwelt von Whistler, Kanada, verschrieben hat. Sie feiert in diesem Jahr ihr 30-jähriges Bestehen und begeht diesen Anlass mit der Einführung der 30 for 30 Fundraiser.

Das Ziel der 30 for 30 Fundraiser ist es, 60.000 US-Dollar zu sammeln, wobei 30.000 US-Dollar von Unternehmen und 30.000 US-Dollar von Einzelspenden stammen sollen.

AWARE nutzt den kampagnengetriebenen Fundraising-Ansatz von Charitable, um diese Kampagne zu unterstützen. Es wurden zwei individuelle Spendenkampagnen eingerichtet: eine für Unternehmen und eine für Einzelpersonen.

Die Herausforderung

Natürlich haben einzigartige Kampagnen wie diese oft einzigartige Anforderungen, und die 30 for 30 Fundraiser bildet da keine Ausnahme.

Da eine der beiden Spendenkampagnen speziell darauf ausgerichtet ist, Spenden von Unternehmen zu erhalten, wird in deren Spendenformular ein Feld für den Firmennamen benötigt. Außerdem sollte auf der Website (über den Spender-Shortcode oder das Widget) der Firmenname angezeigt werden – nicht der Name der spendenden Person.

Glücklicherweise ist die Flexibilität von Charitable ideal für die Bedürfnisse von AWARE geeignet. Sehen wir uns an, wie.

Schritt 1. Ein Feld „Firmenname“ hinzufügen

Als Erstes müssen wir ein neues Spendenfeld mit der Donation Fields API erstellen.

Werfen wir einen Blick auf den dafür erforderlichen Code:

/**
 * 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 );

Hier passiert einiges. Zunächst richten wir ganz oben eine Funktion ein, die beim init Hook ausgeführt wird. Dies ist der beste Hook, wenn Sie ein neues Spendenfeld registrieren möchten.

Innerhalb unserer Funktion erstellen wir ein neues Spendenfeld mit dem Objekt Charitable_Donation_Field. Schauen wir uns diesen Teil genauer an:

$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',
         ],
     ]
 );

Hier erstellen wir ein Feld mit dem Schlüssel company_name (den wir später benötigen werden). Wir haben eine Beschriftung festgelegt, es als Benutzerfeld definiert und einige grundlegende Regeln für seine Anzeige im Spendenformular festgelegt: direkt nach dem Feld last_name und als Pflichtfeld.

Wir haben es auch so eingerichtet, dass es im Spendenformular des Administrators, in den Spendenmetadaten und in der Exportdatei für Spenden angezeigt wird. Wir haben Charitable sogar angewiesen, ein E-Mail-Tag dafür zu erstellen, damit wir es in unseren Spendenquittungs-E-Mails verwenden können.

Schließlich registrieren wir dieses Feld bei der Donation Fields API:

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

Schritt 2. Das Feld „Firmenname“ nur für eine Kampagne anzeigen

Standardmäßig wird ein Spendenfeld in jedem Spendenformular angezeigt. Für die „30 for 30“-Kampagne möchte AWARE jedoch, dass das Feld nur im Spendenformular der Business-Spendenaktion erscheint.

So erreichen wir das:

/**
 * 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 );

Wir lösen dieses Problem, indem wir das Feld company_name *entfernen*, wenn wir *nicht* das Spendenformular der Business-Kampagne anzeigen. Die ganze Magie geschieht hier:

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

In diesem Fall stellen wir uns vor, dass die Kampagne „Business“ die ID 123 hat. Wenn wir uns also die Felder in einem bestimmten Formular ansehen, überprüfen wir die ID der Kampagne für das Formular. Wenn diese nicht 123 ist, verwenden wir die Funktion unset(), um unser Feld zu entfernen, und beziehen uns dabei auf den Schlüssel company_name, den wir in Schritt 1 festgelegt haben.

Schritt 3. Passen Sie den Spendernamen im Shortcode oder Widget für Spender an

Nachdem wir unser Feld „Firmenname“ hinzugefügt haben, müssen wir nur noch dieses anstelle des Vor- und Nachnamens des Spenders verwenden, wenn Spenden für die Kampagne „Business“ angezeigt werden.

Sehen wir uns den Code an:

/**
 * 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 );

Beachten Sie zunächst, dass dies als Funktion eingerichtet ist, die auf dem Hook charitable_donor_loop_donor_name aufgerufen wird. Wir verwenden diesen Hook, da er immer dann angezeigt wird, wenn eine Liste von Spendern mit dem Spender-Widget oder Shortcode angezeigt wird.

Innerhalb der Funktion rufen wir zunächst das Charitable_Donor-Objekt aus dem Parameter $args ab. Anschließend rufen wir das Charitable_Donation-Objekt über die Methode $donor->get_donation() ab:

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

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

Sie fragen sich vielleicht, warum wir prüfen, ob $donation gesetzt ist. Der Grund dafür ist, dass manchmal Charitable_Donor nicht mit einer bestimmten Spende eingerichtet ist. Ein solches Beispiel ist, wenn das Spender-Widget/Shortcode so eingerichtet ist, dass mehrere Spenden desselben Spenders zu einer zusammengefasst werden – in diesem Fall wird kein Charitable_Donation-Objekt aufgerufen, und wir zeigen einfach den Namen des Spenders an.

Daher ist ein wichtiger Hinweis zu diesem Ansatz, dass dies nur funktioniert, wenn das Spender-Widget/Shortcode so eingerichtet ist, dass jede Spende einzeln angezeigt wird, anstatt mehrere Spenden derselben Person zu gruppieren.

Weiter geht es damit, dass wir das Charitable_Donation-Objekt verwenden, um herauszufinden, für welche Kampagne gespendet wurde, und prüfen, ob es sich um unsere Business-Kampagne handelt (die mit der 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' );
}

Der letzte Teil davon prüft einfach, ob $campaign_id 123 ist. Wenn ja, erhalten wir den Firmennamen wie folgt:

$donation->get( 'company_name' );

Beachten Sie, dass company_name mit dem Schlüssel des Spendenfeldes übereinstimmt, das wir in Schritt 1 registriert haben.

Und damit sind wir fertig!

Die vollständige Lösung

Sie können den gesamten Code an einem Ort in unserer Github-Codebibliothek sehen:

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

Um es in Aktion zu sehen – und wenn Sie die wichtige Arbeit von AWARE Whistler unterstützen möchten – besuchen Sie die Seite 30 for 30 Fundraiser auf deren Website.

Schlusswort

Wenn Ihnen dieses Tutorial gefallen hat und Sie möchten, dass wir eines zu einem anderen Thema schreiben, lassen Sie es uns wissen! Sie können uns per E-Mail erreichen, indem Sie das Formular auf unserer Support-Seite ausfüllen, oder hinterlassen Sie einen Kommentar unten.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, wenn Sie auf einige unserer Links klicken, können wir eine Provision verdienen. Wir empfehlen nur Produkte, von denen wir glauben, dass sie unseren Lesern einen Mehrwert bieten.

Hinterlassen Sie eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Erhalten Sie kostenlose Tipps und Ressourcen direkt in Ihren Posteingang, zusammen mit über 60.000 anderen

Abonnieren Sie unseren Newsletter

Wir werden Sie nicht spammen. Wir senden nur eine E-Mail, wenn wir glauben, dass sie Ihnen wirklich hilft. Abmeldung jederzeit möglich!

Video der Woche:

Sehen Sie sich weitere Videos auf unserem YouTube-Kanal an.

Was ist neu bei Charitable

Die neuesten Updates anzeigen
🔔 Abonnieren Sie, um unsere neuesten Updates zu erhalten
📧 E-Mails abonnieren

E-Mail-Abonnement

Abonnieren Sie unseren Newsletter

Wir werden Sie nicht spammen. Wir senden nur eine E-Mail, wenn wir glauben, dass sie Ihnen wirklich hilft. Abmeldung jederzeit möglich!

Botschafter Neu

🖨️ Wir stellen vor: Flyer und Poster: Sammeln Sie Geld abseits des Bildschirms!

Viele Spendenaktionen von Person zu Person finden abseits eines Bildschirms statt: an der Ziellinie eines 5-km-Laufs, an einer Schultafel, in einer Büchereiküche. Charitable Ambassadors 3.4.7 fügt 2 druckbare Elemente hinzu: einen Spenden-Flyer mit der eigenen Geschichte und dem QR-Code jedes Spendenwerbers und ein Rekrutierungsplakat, das neue Spendenwerber anmeldet. Beide lassen sich wie eine normale Webseite öffnen und direkt aus dem Browser ausdrucken. Warum das wichtig ist:

  • 🏁 Ein Flyer für jeden Spendenwerber: Jeder Flyer enthält das eigene Foto, die eigene Geschichte und das eigene Ziel des Spendenwerbers, mit einem QR-Code, der dessen Seite öffnet und nicht Ihre Hauptkampagne.
  • 📌 Ein Plakat, das rekrutiert: Es zeigt „Jetzt rekrutieren“ über Ihrem Kampagnennamen mit einem großen QR-Code, der Ihr Anmeldeformular öffnet, sodass jemand mit dem Spenden sammeln beginnen kann, ohne auf einen Link von Ihnen zu warten.
  • 🪄 Kein Design-Tool erforderlich: Beide Druckvorlagen werden als normale Webseite gerendert und aus dem Browser gedruckt, ohne PDF-Plugin und ohne Designer.
  • 📄 2 Flyer-Layouts: „Hand out“ enthält die vollständige Geschichte für Spenden an Freunde und Familie, und „Post up“ enthält einen kurzen Aufhänger mit 5 abnehmbaren Reitkarten für eine Pinnwand.
  • 🛡️ Ausgeschaltet, bis Sie es einschalten: Flyer bleiben nach dem Update deaktiviert, bis Sie sie unter Charitable » Ambassadors » Other » Fliers aktivieren, und nur der Eigentümer oder ein Administrator kann einen öffnen.

Lesen Sie hier unsere Ankündigung.

Verbesserung Zahlungen

💸 Einführung von gestaffelten Sätzen für Gebührenerleichterungen: Passen Sie die Anfrage an die Spende an!

Gebührenerleichterungen stellt Ihren Spendern beim Bezahlvorgang eine kurze Frage: Möchten Sie die Bearbeitungsgebühr für diese Spende übernehmen? Bisher wurde für jede Spende über ein Gateway ein einziger Satz verwendet, sodass für eine Spende von 10 $ und eine Spende von 500 $ derselbe Prozentsatz berechnet wurde. Gebührenerleichterungen 1.3.0 ermöglicht es Ihnen, beliebig viele Spendenbänder festzulegen, die jeweils ihren eigenen Satz haben. Warum das wichtig ist:

  • 🪙 Schonender bei kleinen Spenden: Eine feste Transaktionsgebühr macht einen weitaus größeren Anteil einer 10 $-Spende aus als einer 500 $-Spende. Bänder ermöglichen es Ihnen daher, am unteren Ende weniger zu verlangen.
  • 🎚️ So viele Bänder wie nötig: Jedes Band hat seinen eigenen Prozentsatz und seinen eigenen festen Betrag, und das oberste Band läuft ohne Obergrenze weiter.
  • 🛑 Eine optionale Obergrenze: Ein Feld für die maximale Gebühr verhindert, dass von einem Spender mehr als ein von Ihnen gewählter Betrag verlangt wird, egal wie hoch die Spende ist.
  • 🔌 Pro Zahlungs-Gateway einstellbar: Stripe kann mit vier Bändern laufen, während Windcave und Payfast mit einem einzigen Satz arbeiten, da Bänder zu einem Gateway und nicht zu Ihrer gesamten Website gehören.
  • 🛡️ Nichts ändert sich, bis Sie es sagen: Ihre aktuellen Sätze bleiben genau so, wie sie sind, bis Sie unter Charitable » Einstellungen » Erweitert » Gebührenerleichterungen die Option „Gestaffelte Sätze verwenden“ aktivieren.

Lesen Sie hier unsere Ankündigung.

Spenden Verbesserung

📊 Ihr Pro Dashboard kann jetzt vergleichen, exportieren und bewerten!

Die meisten Fundraising-Dashboards zeigen Ihnen nur, wie viel Sie eingenommen haben. Charitable Pro 1.8.19 baut das Dashboard und die Berichtsübersicht um die schwierigeren Fragen herum neu auf: ob etwas kaputt ist, ob diese Periode die letzte geschlagen hat und welche einzelne Änderung heute den größten Unterschied machen würde. Warum das wichtig ist:

  • 📈 Jede Zahl hat einen Trend: Wählen Sie eine Periode aus und die Kacheln und das Diagramm bewegen sich zusammen, wobei jede Summe im Vergleich zur Vorperiode angezeigt wird.
  • 🗓️ Lesbare Diagramme: Kurze Zeiträume gruppieren Spenden tageweise, während längere Zeiträume nach Woche oder Monat gruppieren, sodass ein volles Jahr als Kurve und nicht als flache Linie gelesen wird.
  • 🔀 Vergleichen Sie beliebige 2 Perioden: Nicht nur aufeinanderfolgende, sodass Sie fragen können, wie dieser Dezember im Vergleich zum letzten Dezember abgeschnitten hat. Das ist wichtig, da Fundraising saisonabhängig ist.
  • 📤 Fassen Sie die gesamte Zusammenfassung zusammen: Senden Sie die vollständige Übersicht als CSV oder PDF, bereit für ein Board-Paket oder einen Spenderbericht.
  • 🎯 Bewerten Sie Ihr Setup kostenlos: Lassen Sie Ihr Fundraising-Setup bewerten, damit die eine Änderung, die sich als Nächstes lohnt, diejenige ist, die Sie sehen können.

Lesen Sie hier unsere Ankündigung.

Funktion Neu

🎟️ Wir stellen vor: Charitable Events: Verkaufen Sie Tickets für Ihre Kampagnen!

Die meisten gemeinnützigen Organisationen verkaufen Event-Tickets in einem Tool und sammeln Spenden in einem anderen, was zu zwei Berichtsdatensätzen und einer manuellen Abgleichung am Jahresende führt. Charitable Events vereint beides, indem es Tickets über dieselben Spendenformulare und Zahlungs-Gateways verkauft, die Sie bereits in Charitable nutzen. Warum das wichtig ist:

  • 🎟️ Jedes Ticket ist eine Spende: Ticketverkäufe laufen über das Gateway, das Sie bereits nutzen, und zählen zum Kampagnenziel, wobei alles unter Charitable » Events verwaltet wird.
  • 📱 QR-Check-in von jedem Telefon: Jeder Teilnehmer erhält seinen eigenen QR-Code auf der Quittung, und Freiwillige scannen ihn am Eingang über einen Check-in-Link, der kein WordPress-Konto benötigt.
  • 🧾 Quittungen bereit für die Steuererklärung: Weisen Sie jedem Ticket-Typ einen fairen Marktwert zu, und Charitable gibt den korrekten steuerlich absetzbaren Betrag auf jeder Spenderquittung an.
  • 📋 Teilnehmerdetails beim Checkout: Fragen Sie jeden Gast nach einer Essenswahl, Hemdgröße oder speziellen Bedürfnissen, wobei für jedes Ticket ein separater Teilnehmerdatensatz erstellt wird.
  • 🗓️ Blöcke und Kalender inklusive: Drei Editor-Blöcke sowie die Unterstützung für Sugar Calendar und The Events Calendar platzieren Ihre Events dort, wo Unterstützer bereits nachsehen.

Lesen Sie hier unsere Ankündigung.

KI Neu

🚀 Entfesseln Sie die KI-Power in Charitable!

Ihr KI-Assistent kann jetzt Ihre Charitable-Spendenkampagnen direkt erstellen, bearbeiten und verwalten – einfach durch Fragen. Mit Charitable Pro, das Schreibunterstützung für die WordPress Abilities API hinzufügt, können Tools wie ChatGPT, Claude und Cursor sicher vollständige administrative Aktionen über MCP durchführen. Warum das wichtig ist:

  • 🤖 Kampagnenerstellung in einfacher Sprache: Fordern Sie Ihren Assistenten mit einem Ziel wie „Richten Sie eine Spendenaktion für das Tierheim mit einem Ziel von 5.000 US-Dollar ein“ auf, und er erstellt einen echten Kampagnenentwurf mit vorgeschlagenen Spendenstufen.
  • 🎨 Sofortige Anpassungen des Spendenformulars: Fügen Sie benutzerdefinierte Felder hinzu, ändern Sie Schaltflächenfarben oder ordnen Sie Elemente neu an, ohne sich mit den Formulareinstellungen befassen zu müssen.
  • 📝 Protokollierung von Offline-Geschenken: Informieren Sie Ihren Assistenten über Bargeld- oder Scheckgeschenke, und er gleicht E-Mail-Adressen von Spendern ab und zeichnet Transaktionen in Ihrer Historie auf.
  • 🛡️ Sicherheit und Kontrolle standardmäßig: Schreibzugriff bleibt streng deaktiviert, bis er unter Charitable » Tools » AI MCP aktiviert wird, wodurch schreibgeschützte Berichte standardmäßig sicher bleiben.
  • 📜 Vollständige Audit-Protokollierung: Jede Änderung, die von einem KI-Assistenten vorgenommen wird, wird unter Charitable » Tools » Logs verfolgt, sodass Sie immer wissen, wer (oder was) Ihre Website aktualisiert hat.

Lesen Sie hier unsere Ankündigung.