Tipps für das Schreiben von benutzerdefiniertem Code für Charitable

Ein Grund, warum Charitable eines der besten WordPress-Plugins für Kampagnen und Spenden ist, ist seine Flexibilität und die Fähigkeit, anderen zu ermöglichen, verschiedene Schlüsselaspekte des Erlebnisses anzupassen – einschließlich E-Mails, Kampagnendetails und des Spendenformulars. Ein Teil dieser Flexibilität liegt in den „Hooks und Filtern“ im Code von Charitable, die WordPress-Entwicklern zur Verfügung stehen. Über diese kann ein Entwickler eine Website anpassen, um:

— Ein benutzerdefiniertes Feld im Spendenformular über die Donations Field API anzuzeigen.
— Neue E-Mail-Tags hinzuzufügen oder bestehende mit der Email Fields API zu ändern.
— Anpassungen an Add-ons wie dem Ambassador Addon und dem Annual Receipts Addon vorzunehmen.

Code für ein WordPress-Plugin kann auf verschiedene Arten und an verschiedenen Stellen geschrieben werden: Einige Codes können in die Datei „functions.php“ des aktiven WordPress-Themes eingefügt werden, einige werden in ein Plugin geschrieben (das aktiviert und deaktiviert werden kann, auch wenn der Benutzer dasselbe Theme beibehält) und (was immer beliebter wird) Code kann in einem Code-Snippets-Plugin gehostet werden.

Unabhängig davon, wo sich der Code befindet, gibt es Best Practices, die WordPress-Entwickler und Coder anwenden sollten, um sicherzustellen, dass die Website, auf der er läuft, sicher bleibt und keine Fehler aufweist. Das Folgende ist kein vollständiger oder tiefgehender Leitfaden, sondern allgemeine Erinnerungen für diejenigen, die Code schreiben ODER Code von Entwicklern entgegennehmen, um ihn in ihre Website einzufügen – insbesondere wenn dieser Code auf einem Drittanbieter-Plugin (wie Charitable) basiert. 

Plugin-Datei bevorzugt

Wenn möglich, versuchen Sie, benutzerdefinierten Code in einem EIGENEN WordPress-Plugin zu platzieren. Dies erleichtert die Beibehaltung des Codes, wenn Sie Ihr WordPress-Theme wechseln, und ermöglicht es Ihnen auch, das Plugin mit den Anpassungen zu Aktivieren/Deaktivieren für Debugging-Zwecke. Es gibt viele Beiträge und Tutorials im Web über die Erstellung eines einfachen WordPress-Plugins wie diesem.

Nicht annehmen, immer prüfen

Es ist wichtig, dass benutzerdefinierter Code NICHT DAVON AUSGEHT, DASS CHARITABLE AUF IHRER WEBSITE AKTIVIERT UND AKTIV IST. Warum? Denn wenn versucht wird, eine Funktion im Kerncode von Charitable aufzurufen – und der Code nicht vorhanden ist – kann ein Fehler auftreten… ein Fehler, der Ihre Website lahmlegen könnte! Manchmal kann WordPress Ihre Website in den „Wiederherstellungsmodus“ versetzen und dem Website-Administrator eine E-Mail senden, um ihn über diesen Fehler zu informieren, aber das ist nicht immer der Fall. Daher sollte JEDER Code, der für Charitable geschrieben wurde – unabhängig von seinem Zweck oder seinem Speicherort –, „prüfen“, ob Charitable aktiviert ist und/oder die Funktion, die aufgerufen werden soll, existiert.

Beachten Sie unser erstes (schlechtes!) Beispiel:

👎🏻 SCHLECHTES BEISPIEL:

// Bad Example :-( Of Hooking Into Charitable

function charitable_add_donation_gateway_email_tag() {
    charitable()->donation_fields()->get_field( 'gateway_label' )->email_tag = true;
}
add_action( 'init', 'charitable_add_donation_gateway_email_tag' );

Der Zweck dieses Codeblocks ist es, das „Gateway-Label“ zu etwas zu machen, das als dynamisches Tag in Charitable-E-Mails hinzugefügt werden kann. Der obige Entwickler „hookt“ die Funktion, die dies tut, in das WordPress-„init“, das jedes Mal ausgeführt wird, wenn eine Seite auf der Website geladen wird – egal ob im Adminbereich oder im Frontend. Beachten Sie, dass die Funktion „charitable()“ verwendet… aber wenn diese nicht existiert, gibt PHP einen „fatal error“ aus – und da der obige Code bei JEDEM und JEDEM Seitenaufruf geladen wird, wird die gesamte Website höchstwahrscheinlich abstürzen, ohne die Möglichkeit, sich als Administrator anzumelden usw.

Auch hier ist es eine gute Praxis, niemals davon auszugehen, dass eine Funktion existiert, wenn diese Funktion Teil eines Plugins oder Themes ist (mit anderen Worten, wenn sie nicht Teil des WordPress-Kerns ist). Die Annahme, dass die „charitable()“-Klasse existiert, bedeutet die Annahme, dass das Charitable-Plugin IMMER vorhanden sein wird – aber wenn das Plugin deaktiviert ist (von einem Menschen oder einem anderen Plugin) oder wenn das Plugin aktualisiert wird… wird die Funktion nicht gefunden, und es würde ein (möglicherweise „fataler“) Fehler auftreten. Hier ist die gleiche Funktion, aber mit einer einfachen Ergänzung:

👍🏻 GUTES BEISPIEL:

// Good Example :-) Of Hooking Into Charitable
// Checking To See If The Class Exists!

function charitable_add_donation_gateway_email_tag() {
    if ( class_exists('charitable') ) : // check for class
       charitable()->donation_fields()->get_field( 'gateway_label' )->email_tag = true;
    endif;
}
add_action( 'init', 'mysite_charitable_add_donation_gateway_email_tag' );

Beachten Sie die „if“-Anweisung, die prüft, ob die Klasse „charitable“ existiert – dies ist eine Methode in PHP, um sicher zu prüfen, ob die Klasse existiert (in diesem Fall nur, wenn Charitable aktiv auf der Website läuft). Wenn sie nicht existiert, wird der Code nicht ausgeführt und alle sind sicher. Es ist üblich, dass PHP-Entwickler Prüfungen wie class_exists und function_exists verwenden, um schnell sicherzustellen, dass der Code, den sie ausführen wollen, keine schwerwiegenden Fehler verursacht, weil etwas, von dem sie annehmen, dass es existiert, nicht existiert.

Verwenden Sie eindeutige Namen für Funktionen

Wie in den obigen Beispielen erwähnt, geben Sie Ihren Funktionen niemals generische Namen wie „update_email“, denn wenn ein anderes Plugin denselben Namen verwendet (aktuelle Plugins oder zukünftige, die Sie möglicherweise installieren), kann Ihre Website Probleme erleiden. Wenn Sie eine Funktion erstellen, beginnen Sie immer mit „mywebsite_charitable_“ (wie im obigen Beispiel, wobei „mywebsite“ durch eine Zeichenkette von angemessener Länge Ihres Website-Namens ersetzt wird), um sicherzustellen, dass Sie wahrscheinlich einen benutzerdefinierten Namen erstellt haben, der nicht wiederholt wird (Sie können auch die gleiche „Existiert das bereits“-Logik im obigen Schritt verwenden, wenn Sie die Extra-Meile gehen möchten).

WordPress-Debugging und Debug-Logs aktivieren

Für alles, was über ein einfaches Skript hinausgeht, dokumentieren und protokollieren WordPress-Entwickler üblicherweise PHP-Warnungen und -Fehler, um Probleme „abzufangen“ (insbesondere wenn sie auf der Website nicht offensichtlich sichtbar sind). Das Charitable-Support-Team empfiehlt die Basis-Funktionen WP_DEBUG und WP_DEBUG_LOG, wie hier in der WordPress-Dokumentation erwähnt.

Verwenden Sie ein Code-Snippet-Plugin?

Alles oben Gesagte gilt auch für Code, der in Code-Snippet-Plugins eingefügt wird. Wenn Sie ein Problem mit Charitable haben und wissen, dass Sie benutzerdefinierten Code in einem Code-Snippet ausführen, sollten Sie in der Lage sein, das Code-Snippet-Plugin zu deaktivieren, um zu sehen, ob dies das Problem löst oder Ihnen bei der weiteren Fehlerbehebung hilft.

Nicht auf Produktionssystemen testen

Schließlich ist es eine gute Idee, benutzerdefinierten Code in einer Staging- oder Entwicklungsumgebung zu testen und nicht live auf Ihrer Website. Wenn Sie Charitable hier zu Testzwecken deaktivieren, ist dies eine gute „endgültige“ Methode, um festzustellen, ob Ihre Website erhebliche Probleme haben könnte. Dies schützt Ihre Produktionsumgebung und ermöglicht weiterhin Spenden. 


Denken Sie daran, dass Sie, wenn Sie sich über den Code, den Sie zu Ihrem Theme, Ihrem eigenen Plugin oder einem Code-Snippet-Plugin hinzufügen, unsicher sind, einen Entwickler konsultieren sollten. Wenn Sie allgemeine Fragen haben, können Sie sich gerne an unser Support-Team wenden, das Ihnen gerne Fragen zu jedem Code beantwortet, den Sie möglicherweise zu Ihrer Website hinzufügen, um Charitable zu erweitern. Wir sind für Sie da und unterstützen Sie bei der Erweiterung Ihrer Website, um Ihre Bedürfnisse zu erfüllen!

Wir hoffen, dass diese Vorschläge Ihnen das Vertrauen geben und sicherstellen, dass Ihre Anpassungen an Charitable noch viele Jahre lang gut funktionieren.

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.