Gemeinnütziger Blog

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

Tutorial: Benutzerdefinierte Belegseiten pro Kampagne festlegen

Zuletzt aktualisiert am

  • Von

Standardmäßig hat Ihre Website eine einzige Spendeneingangsbestätigungs-Seite, zu der Spender nach ihrer Spende automatisch weitergeleitet werden.

Sie können die automatisch generierte Bestätigungs-Seite von Charitable sofort nutzen oder eine bestimmte Seite als Ihre Spendeneingangsbestätigungs-Seite festlegen. Lesen Sie die folgende Anleitung, wenn Sie sich nicht sicher sind, wie das geht:

Aber was, wenn Sie für verschiedene Kampagnen eine andere Bestätigungs-Seite verwenden möchten? Das ist standardmäßig nicht möglich, aber dank der integrierten Flexibilität von Charitable ist dies mit nur zwei PHP-Funktionen erreichbar.

Die Lösung

Unsere Lösung fügt dem Kampagnen-Editor ein neues Feld hinzu, mit dem Sie eine statische Seite als Spendeneingangsbestätigungs-Seite für Ihre Kampagne auswählen können. Wenn Sie keine bestimmte Seite auswählen, wird die Standardoption verwendet, d. h. die Einstellung unter Charitable > Einstellungen > Allgemein für die Option „Spendeneingangsbestätigungs-Seite“.

Ich werde die Lösung unten erklären, aber wenn Sie nur den Code möchten, können Sie ihn von Github herunterladen:

https://github.com/Charitable/Charitable-Custom-Campaign-Receipt-Pages

Schritt 1: Unsere Funktion hinzufügen

Wie bei den letzten beiden Tutorials beginnt dieses mit einer PHP-Funktion, die aufgerufen wird, wenn der init Hook innerhalb von WordPress aufgerufen wird. init ist ein Hook, der früh während des Ladens von WordPress aufgerufen wird, bevor die Seite gerendert wird.

add_action( 'init', function() {
    // Our code will go in here.
} );

Wir verwenden hier eine anonyme Funktion, was in Ordnung ist, solange Sie eine PHP-Version größer als 5.2 verwenden.

Wenn Sie sich nicht sicher sind, wie Sie dies zu Ihrer Website hinzufügen können, lesen Sie unsere Anleitung:

Schritt 2: Das Feld zum Kampagnen-Editor hinzufügen

Wir können nun unsere Einstellung „Spendeneingangsbestätigungs-Seite“ hinzufügen, indem wir ein neues Feld mit der Campaign Fields API registrieren.

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

} );

Dies ist der gleiche Ansatz, den wir in den beiden vorherigen Tutorials verwendet haben. Wenn Sie diese gelesen haben, wird Ihnen dies sehr bekannt vorkommen. Ein neues Detail ist, wie die Einstellung admin_form des Feldes eingerichtet ist:

'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',
),

Der type ist auf select gesetzt, was bedeutet, dass ein Dropdown-Auswahlfeld verwendet wird. Auswahlfelder erfordern eine Reihe von Optionen, die als Array übergeben werden. Unser Array enthält zunächst eine default-Auswahl, gefolgt von einer Liste von Seiten, die mit der Funktion charitable_get_pages_options() abgerufen werden. Wenn Sie mit HTML vertraut sind, bedeutet die Struktur dieses Arrays, dass das options-Array innerhalb von pages ein optgroup-Element mit label als Beschriftung erstellt.

Unser neues Feld für die Spendeneingangsbestätigungs-Seite

Schritt 3: Überschreiben der Standard-Spendeneingangsbestätigungs-Seite

Innerhalb von Charitable wird die URL der Spendeneingangsbestätigung für eine bestimmte Spende wie folgt abgerufen:

charitable_get_permalink( 'donation_receipt_page', array(
    'donation_id' => $donation_id,
) );

Diese Funktion verwendet wiederum die Endpoint API, die eine strukturierte Möglichkeit bietet, wichtige Endpunkte innerhalb von Charitable zu verwalten, wie z. B. Kampagnen, Spendenseiten, die Anmeldeseite und die Spendeneingangsbestätigungs-Seite.

Was für unseren Fall wichtig ist, ist, dass der zurückgegebene Permalink gefiltert werden kann. Im Falle der Spendenquittungsseite ist der zu verwendende Filter charitable_permalink_donation_receipt_page. Er liefert zwei Parameter:

  • $default – Der Standard-Permalink, der verwendet werden soll. Wir greifen darauf zurück, wenn die Kampagne keine benutzerdefinierte Quittungsseite festgelegt hat oder wenn sie die Standardeinstellung verwendet.
  • $args – Ein Array, das die Spenden-ID enthält.

Schritt 3a: Erstellen Sie die Gliederung der Callback-Funktion

Sehen wir uns zunächst an, wie die Struktur unserer Callback-Funktion aussehen wird:

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

Wie Sie sehen können, definieren wir eine anonyme Funktion, die in den charitable_permalink_donation_receipt_page-Filter eingehakt ist. Wichtig ist, dass unsere letzte Zeile die Callback-Funktion so einstellt, dass sie mit der Priorität 10 (dem Standard) arbeitet und 2 Parameter empfängt.

Schritt 3b: Rufen Sie die Kampagne für die Spendenquittung ab

Der Parameter $args enthält eine Eigenschaft donation_id. Wir verwenden diese, um ein Charitable_Donation-Objekt zu erhalten, und verwenden dieses wiederum, um das Charitable_Campaign-Objekt zu erhalten:

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

Schritt 3c: Rufen Sie die Spendenquittungsseite der Kampagne ab

Nachdem wir nun ein Charitable_Campaign-Objekt haben, können wir die Einstellung für die Spendenquittungsseite für die Kampagne mit der Methode get() abrufen:

/**
 * Get the campaign's donation receipt page.
 */
$receipt_page = $campaign->get( 'donation_receipt_page' );

Schritt 3d: Prüfen Sie, ob die Standard-Quittungs-URL zurückgegeben werden soll

Denken Sie daran, dass Sie die Kampagne so einstellen können, dass sie die Standardquittung verwendet. Es ist auch möglich, dass Sie Ihre Kampagne seit dem Hinzufügen der Einstellung für die Spendenquittungsseite nicht aktualisiert haben. In diesem Fall ist die Variable $receipt_pagefalse. Wenn eine dieser Bedingungen zutrifft, geben wir die Variable $default zurück, da wir für diese Kampagne keine benutzerdefinierte Quittung haben:

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

Schritt 3e: Geben Sie die benutzerdefinierte Quittungs-URL zurück

Wenn wir bis zu diesem Punkt noch hier sind, bedeutet dies, dass für diese Kampagne eine benutzerdefinierte Quittungsseite festgelegt ist. Alles, was noch zu tun ist, ist, den Permalink für diese Seite abzurufen und dann donation_id sowie donation_receipt anzuhängen. Die resultierende URL wird wie folgt aussehen:

https://mysite.com/my-custom-receipt-page/?donation_id=123&donation_receipt=1

So machen wir das:

/**
 * 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 ist ein Kern-Plugin von WordPress, das verwendet wird, um die URL für eine bestimmte Seite oder einen Beitrag abzurufen. Wir verwenden dies als Basis für unsere URL und hängen dann die erforderlichen Abfrageargumente mit add_query_arg an. Schließlich geben wir sie mit esc_url_raw als maskierten Wert zurück.

Zusatzschritt: Richten Sie Ihre benutzerdefinierte Quittungsseite ein

Diese Lösung ermöglicht es Ihnen, jede beliebige Seite als Spendenquittungsseite zu verwenden. Wahrscheinlich möchten Sie dem Spender Informationen über die Spende anzeigen, wenn er auf der Quittungsseite landet. Um dies einzuschließen, können Sie den Shortcode [donation_receipt] verwenden; er zeigt die dynamischen Quittungsinformationen an, die normalerweise auf Charitable-Quittungen angezeigt werden.

Bonus-Ideen für die Anpassung der Spendenquittungsseite

Wir haben hier gesehen, wie die Spendenquittungsseite pro Kampagne angepasst werden kann. Aber was ist, wenn Sie eine andere Spendenquittungsseite basierend auf einem anderen Faktor verwenden möchten?

In unserer Code-Snippet-Bibliothek finden Sie einige Snippets, die Ihnen zeigen, wie Sie in anderen Szenarien eine andere Spendenquittung verwenden können:

Haben Sie eine Idee für ein weiteres Tutorial?

Wenn Sie eine Idee für ein weiteres Tutorial haben, würde ich mich freuen, davon zu hören! Hinterlassen Sie einen Kommentar unten oder kontaktieren Sie uns über unsere Support-Seite.

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!

Verbesserung Zahlungen

💰 Wiederkehrende Spenden mit Windcave und Charitable akzeptieren

Ein Spender richtet seine Spende einmalig auf der sicheren Zahlungsseite von Windcave ein, und Charitable stellt danach pünktlich jede Verlängerung in Rechnung. Warum das wichtig ist:

🏦 In Neuseeland oder Australien ansässige Organisationen: Monatliche Spenden über das Gateway, mit dem Ihre Bank Sie bereits eingerichtet hat, ohne dass ein zweiter Prozessor angebunden werden muss.
⛪ Kirchen, die regelmäßige Zehnten und Opfergaben erhalten: Die Gemeindemitglieder legen einmal ihren eigenen Zeitplan fest, was der einfachste Weg ist, regelmäßige Kirchenspenden ohne eine separate Plattform zu starten.
🌏 Gruppen mit Spendern in verschiedenen Währungen: Windcave unterstützt über 20 Währungen, sodass ein Unterstützer in der Währung spenden kann, die er tatsächlich besitzt.
📅 Betriebsmittel statt einmaliger Kampagnen: Schalten Sie den Nur-wiederkehrenden-Modus ein, und die Einmal-Option verschwindet, sodass jede Spende für diese Kampagne ein Abonnement ist.
🧾 Teams ohne Entwickler im Personal: 3 Anmeldedaten in eine Einstellungsseite eingefügt, und kein Code irgendwo.

Lesen Sie hier unsere Ankündigung.

Automatisierung Aktualisierung

⚡ Visueller Automatisierungs-Builder: Drag & Drop ohne Code!

Charitable Automation Connect 2.3.0 führt den visuellen Automatisierungs-Builder ein, eine Vollbild-Leinwand, die jede Automatisierung als Fluss verbundener Karten darstellt: ein Auslöser, optionale Bedingungen und eine Liste von Aktionen, die der Reihe nach ausgeführt werden.

🧩 Viele Aktionen, ein Auslöser: Markieren Sie einen Spender, senden Sie eine E-Mail, fügen Sie eine Notiz hinzu und lösen Sie einen Webhook von einem einzelnen Ereignis aus, das in beliebiger Reihenfolge gezogen wird.

✉️ Innerhalb von Charitable handeln: Neue Aktionen wie „E-Mail senden“, „Spender markieren“ und „Spenderhinweis hinzufügen“ laufen ohne externen Dienst.

🔤 Zusammenführung-Tags: Personalisieren Sie E-Mails und Notizen mit Live-Feldern wie {first_name}, {total} und {campaign_name}.

🔁 Auf bestehende Spender anwenden: Führen Sie „Spender markieren“ und „Spenderhinweis hinzufügen“ für Ihre vorhandenen Spender aus.

🖥️ Leinwand oder Einfach: Wechseln Sie jederzeit die Ansicht, und Automatisierungen, die vor 2.3.0 erstellt wurden, funktionieren weiterhin unverändert.

Lesen Sie hier mehr.

Integration aktualisiert

📬 Brevo für Charitable vorstellen: Spender automatisch zu Abonnenten machen

Der Moment, in dem ein Unterstützer eine Spende tätigt, ist der Moment, in dem er am engagiertesten ist. Mit der neuen Brevo-Integration für Charitable können Sie einmalige Spender automatisch in langfristige Abonnenten verwandeln, ohne eine einzige Tabelle anfassen zu müssen.

Sammeln Sie einfach die Zustimmung der Spender direkt auf Ihrem Spendenformular und starten Sie sofort Ihre Willkommensserie.

Was ist neu:

🔄 Automatischer Abonnenten-Sync: Neue Spender, die zustimmen, werden sofort Ihrer Brevo-Kontaktliste hinzugefügt, sobald ihre Zahlung abgewickelt ist – keine manuellen Exporte oder CSV-Importe erforderlich.

🎯 Detaillierte Zustimmungs- & Opt-In-Kontrolle: Passen Sie die Bezeichnung Ihrer Checkbox an, wählen Sie, ob sie standardmäßig aktiviert oder deaktiviert ist, oder aktivieren Sie die Brevo-Double-Opt-In, um Ihre Liste sauber und konform zu halten.

📋 Listen-Mapping pro Kampagne: Leiten Sie Unterstützer zu Ihrer globalen E-Mail-Liste oder ordnen Sie bestimmte Kampagnen gezielten Brevo-Listen zu, um Ihre Folgekommunikation anzupassen.

⚡ 5-Minuten-Einrichtung: Stellen Sie sofort eine Verbindung her, indem Sie Ihren Brevo-API-Schlüssel in die Newsletter-Einstellungen einfügen, Ihre Kontaktfelder zuordnen und Ihre E-Mail-Liste automatisch aufbauen.

Bereit, Ihre Mailingliste zu erweitern? Brevo ist jetzt im Charitable Plus-Plan verfügbar – verbinden Sie noch heute Ihr Konto!

wiederkehrende Spenden aktualisiert

💳 Karten-Updates einführen: Abgelaufene Karten korrigieren, ohne Abos zu verlieren!

Neue abgelaufene oder aktualisierte Kreditkarten sind eines der größten stillen Lecks im wiederkehrenden Fundraising. Mit Card Updates in der Erweiterung Recurring Donations können Spender jetzt ihre Zahlungsdetails direkt aktualisieren – ihre Abonnement-, Zeitplan- und Spendenhistorie bleibt dabei vollständig erhalten.

Keine gekündigten Pläne, keine verlorene Historie und null administrativer Aufwand für Ihr Team.

Was ist neu:

⚡ 30-Sekunden-Self-Service: Spender erhalten in ihrem Dashboard eine spezielle Schaltfläche „Karte aktualisieren“, die das sichere, PCI-konforme Kundenportal von Stripe öffnet, um Kartendetails sofort zu aktualisieren.

🔒 Geltungsbereich & Sicherer Zugriff: Standardmäßig ausschließlich auf Kartenaktualisierungen beschränkt, können Spender ihre Pläne nicht versehentlich aus dem Portal heraus kündigen oder ändern, wodurch Ihre Webhooks und Daten synchron bleiben.

🤝 Unterstützung durch Administratoren: Helfen Sie einem Spender am Telefon? Öffnen Sie sein sicheres Stripe-Portal mit einem Klick von Ihrem Admin-Bildschirm aus oder generieren Sie einen Einmal-Link zur Aktualisierung, den Sie ihm per E-Mail zusenden können.

📋 Automatischer Audit Trail: Jede Aktualisierung der Zahlungsmethode wird automatisch mit einem Zeitstempel sowohl in den systemweiten Protokollen als auch im Profil des einzelnen Spenders aufgezeichnet.

Sind Sie bereit, Ihre wiederkehrenden Einnahmen zu schützen? Holen Sie sich das Plus- oder Pro-Paket, aktualisieren Sie „Wiederkehrende Spenden“ auf Version 2.3.0+ und aktivieren Sie noch heute unter „Einstellungen“ die Option „Zahlungsmethode aktualisieren“!

Integration Seiten-Ersteller

Divi-Fans jubeln! Natives Divi 5 Kampagnen-Fortschrittsbalken-Modul!

Mit unserem neuen nativen Divi 5-Modul können Sie Ihre Microsites mit Echtzeit-Fundraising-Statistiken direkt auf der visuellen Oberfläche verankern. Hier erfahren Sie, wie es funktioniert und warum es sich lohnt, es noch heute zu aktivieren.

Erstellen Sie Kampagnen-Updates, die VISUELL UND LIVE sind. Sie können auch:

📊 Fortschrittsbalken der Kampagne: Fügen Sie einen Live-Fortschrittsbalken in jedes Divi 5-Layout ein und zeigen Sie den Ziel-Fortschritt in Echtzeit an.

🎨 Tiefgreifende Styling-Steuerelemente: Passen Sie die Farbe, Höhe und den Radius des Balkens und der Anzeige einfach an, um sie perfekt an Ihre Marke anzupassen.

👁️ Visual Builder bereit: Konfigurieren und sehen Sie alles direkt auf der Divi-Oberfläche als erstklassiges Modul.

🔁 Identische Darstellung: Dieselbe exakte Engine treibt dieses Modul an, was ein konsistentes Design ohne Legacy-Workarounds bedeutet.

✅ Schnellere Starts: Verlassen Sie niemals die Divi 5-Oberfläche, um Shortcodes zu konfigurieren oder zu erraten, wie Ihre Ziel-Beschriftungen aussehen werden.

Hier mehr erfahren.