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!

Neu Vorlagen

🤩 Neue Beacon Kampagnenvorlagen mit „Hero“-Block!

Mit den neuen Beacon Kampagnenvorlagen für Charitable Pro können Sie eine beeindruckende, bildschirmfüllende Spendenaktion starten, die sofort die Aufmerksamkeit der Besucher oberhalb der Falz erregt.

Spendenaktions-Header für Save Maple Grove Park mit einem Spenden-Widget und einem kleinen quadratischen Foto eines sonnenbeschienenen Baumes als Miniaturansicht links.

🔦 Wirkung oberhalb der Falz: Beginnen Sie mit einem bildschirmfüllenden Hero-Bild, Ihrem Logo und Ihrem Spendenziel mit einem Spenden-Widget, das direkt über dem Banner platziert ist, sodass Ihre Bitte und Ihr Schwung sofort ohne Scrollen registriert werden.

📐 Zwei flexible Layouts: Wählen Sie zwischen einem strukturierten Zwei-Spalten-Layout für nebeneinanderliegende Storys und unterstützende Details oder einer übersichtlichen Ein-Spalten-Ansicht für ununterbrochene Langform-Erzählungen.

⚡ All-in-One Hero-Feld: Angetrieben durch das neue Campaign Hero-Feld, das Hintergrundmedien, Live-Fortschrittsbalken, benutzerdefinierte Spendenbeträge und wiederkehrende Spendentabs in einem einzigen zusammenhängenden Block vereint, der in jedes Layout eingefügt werden kann.

🎨 Automatische Theme-Anpassung: Das Hero-Banner und das Spenden-Widget übernehmen automatisch die Button- und Akzentfarben Ihres Kampagnen-Themes, sodass Ihre gesamte Präsentation perfekt im Markenstil bleibt, ohne eine Zeile CSS anfassen zu müssen.

Hier mehr erfahren.

Spendenformular Funktion Neu

📝 Spendenformular-Block: Ein funktionierendes Spendenformular überall einbetten

Mit dem neuen Spendenformular-Block für Charitable Pro können Sie ein voll funktionsfähiges Spendenformular direkt auf jeder Seite oder jedem Beitrag im WordPress-Block-Editor platzieren. Keine Weiterleitungen, keine Seitenaktualisierungen und null Reibung zwischen dem Lesen Ihrer Geschichte und dem Leisten eines Beitrags.

📝 Formulare überall platzieren: Platzieren Sie ein funktionierendes Formular direkt auf Ihrer Homepage, in einem Story-basierten Blogbeitrag, auf einer speziellen Landingpage oder innerhalb einer Kampagnenankündigung.

🎯 Dynamische Kampagnenbindung: Wählen Sie einfach eine bestimmte Kampagne aus der Blockseitenleiste aus oder stellen Sie sie so ein, dass sie automatisch an die gerade angezeigte Kampagne gebunden wird.

📐 Vollständige vs. Minimale Formularansichten: Wechseln Sie zwischen einem vollständigen Layout oder einer kompakten Minimalansicht, um Seitenleisten, schmale Spalten oder breite Landingpages perfekt anzupassen.

🎨 Geltungsbereichspezifische No-Code-Stile: Passen Sie Typografie, Container-Abstände, Randradius, Betragsbuttons und Akzentfarben für jede Formularinstanz unabhängig voneinander an, ohne eine Zeile CSS zu berühren.

Hier mehr erfahren.

Botschafter Neu

👤 Erstellerprofile: Geben Sie jeder Peer-to-Peer-Kampagne ein Gesicht

Ambassadors 3.3.0 bietet jetzt Erstellerprofile – geben Sie Ihren Unterstützern ein permanentes, teilbares öffentliches Zuhause, das einmalige Spendenaktionen in dauerhafte Beziehungen verwandelt.

👤 Öffentliche Erstellerseiten: Geben Sie jedem Spendenwerber eine sofortige, übersichtliche Landingpage unter /creator/ihr-name/, um ihren benutzerdefinierten Avatar, ihre Biografie und ein durchsuchbares Raster ihrer Kampagnen zu präsentieren.

📊 Erfolgsnachweis: Steigern Sie das Vertrauen der Spender, indem Sie standortweite Meilensteine im Profil anzeigen – wie z. B. die insgesamt gesammelten Gelder und die Gesamtzahl der Spender.

💳 Interaktive Hover-Karten: Wenn Spender mit der Maus über den Namen eines Erstellers auf einer Kampagnenseite fahren, erweitert sich eine kompakte Karte mit ihrer Biografie und ihren Social-Media-Handles genau im Moment der Entscheidung.

📍 Verantwortungsvolle Standortfreigabe: Ermöglichen Sie Erstellern, ihren Standort sicher mitzuzeigen, indem Sie nur Stadt-, Bundesland- und Landesdetails verwenden.

🛠️ Eigenständige Anpassung: Spendenwerber können ihre eigenen Profile aktualisieren und bis zu sechs soziale Netzwerke direkt aus dem Hub „Meine Kampagnen“ verknüpfen, was Ihnen Administratorzeit spart.

Bereit, Ihre Fürsprecher zu stärken? Aktualisieren Sie auf Ambassadors 3.3.0 und aktivieren Sie noch heute „Öffentliche Erstellerseite aktivieren“!

Verbesserung Zahlungen

📱 Verwandeln Sie mobile Scroller in Spender: Treffen Sie Charitable's Mollie Upgrade

Verlieren Sie mobile Unterstützer, weil sie es hassen, lange Kartennummern auf ihren Handys einzugeben? Charitable's aktualisierte Mollie-Integration bietet:

⚡ One-Tap Wallet Checkout: Ermöglichen Sie Spendern, ihre Geschenke sofort mit Apple Pay oder Google Pay mit einem einfachen Gesichtsscan, Fingerabdruck oder Tippen abzuschließen.

💰 Keine zusätzliche PCI-Belastung: Überspringen Sie komplexe Domain-Verifizierung und Sicherheitskonformität, da alle Wallet-Transaktionen sicher über den gehosteten Checkout von Mollie abgewickelt werden.

🛠️ Benutzerdefinierte Abbruch-Weiterleitung: Sorgen Sie für ein vorhersehbares Erlebnis, indem Sie Spender, die abbrechen, automatisch an Ihre Abbruchseite weiterleiten, oder verwenden Sie Entwicklerfilter, um sie zu einer benutzerdefinierten Seite weiterzuleiten.

Besuchen Sie diese Seite, um mehr zu erfahren.

Botschafter verbessert Neu

Moderations- und Verzeichnisbildschirme in Ambassadors 3.0

Ambassadors 3.0 hat neue Funktionen: Moderations- und Verzeichnisbildschirme… sehen Sie jetzt ganz einfach diejenigen, die Spenden in Ihrem Peer-to-Peer-Netzwerk erhalten – einschließlich Kampagnenerstellern, die möglicherweise verifiziert werden müssen – alles an einem Ort. Generieren Sie Berichte, senden Sie E-Mails direkt an Botschafter und Kampagnenersteller und mehr.

🚀 Sehen Sie, wann Kampagnenersteller und Botschafter ihre Kampagnen aktualisiert haben, welche Spender/Spenden sie eingebracht haben und mehr.

🎉 Botschafter und Kampagnenersteller manuell hinzufügen und mit einem Klick genehmigen!

Besuchen Sie diese Seite, um mehr zu erfahren.