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!

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.