Conseils pour écrire du code personnalisé pour Charitable

L'une des raisons pour lesquelles Charitable est l'un des meilleurs plugins WordPress pour gérer des campagnes et accepter des dons est sa flexibilité et sa capacité à permettre à d'autres de personnaliser divers aspects clés de l'expérience – y compris les e-mails, les détails de la campagne et le formulaire de don. Une partie de cette flexibilité réside dans les « hooks et filtres » que Charitable possède dans son code et qui sont disponibles pour les développeurs WordPress. Grâce à ceux-ci, un développeur peut personnaliser un site pour :

— Afficher un champ personnalisé sur le formulaire de don via l'API des champs de dons.
— Ajouter de nouvelles balises d'e-mail ou modifier celles existantes avec l'API des champs d'e-mail.
— Personnalisations des extensions telles que l'extension Ambassadeur et l'extension Reçus Annuels.

Le code d'un plugin WordPress peut être écrit de plusieurs manières et à différents endroits : certains codes peuvent être placés dans le fichier « functions.php » du thème WordPress actif, certains sont écrits dans un plugin (qui peut être activé et désactivé même si l'utilisateur conserve le même thème), et (ce qui devient de plus en plus populaire) le code peut être hébergé dans un plugin d'extraits de code.

Peu importe où le code se trouve, il existe des meilleures pratiques que les développeurs et les codeurs WordPress devraient utiliser pour s'assurer que le site Web sur lequel il s'exécute reste sécurisé et ne tombe pas en panne. Ce qui suit n'est pas un guide complet ni approfondi, mais des rappels généraux pour ceux qui écrivent du code OU acceptent du code de développeurs à insérer sur leur site Web – surtout si ce code repose sur un plugin tiers (comme Charitable). 

Fichier de plugin préféré

Si possible, essayez de placer le code personnalisé dans SON PROPRE plugin WordPress. Cela facilite le maintien du code en place si vous changez de thème WordPress et vous permet également d'activer/désactiver facilement le plugin contenant les personnalisations à des fins de débogage. Il existe de nombreux articles et tutoriels sur le Web sur la création d'un plugin WordPress simple comme celui-ci.

Ne supposez pas, vérifiez toujours

Il est important que tout code personnalisé NE SUPPOSE PAS QUE CHARITABLE EST ACTIVÉ ET EN COURS D'EXÉCUTION SUR VOTRE SITE WEB. Pourquoi ? Parce que s'il tente d'appeler une fonction dans le code principal de Charitable – et que le code n'est pas là – une erreur peut se produire… une erreur qui pourrait faire planter votre site Web ! Parfois, WordPress est capable de mettre votre site en « Mode de récupération » et d'envoyer un e-mail à l'administrateur du site pour l'informer de cette erreur, mais ce n'est pas toujours le cas. Par conséquent, TOUT code écrit pour Charitable – quel que soit son objectif ou où le code est situé – doit « vérifier » pour s'assurer que Charitable est activé et/ou que la fonction qu'ils tentent d'appeler existe.

Remarquez notre premier (mauvais !) exemple :

👎🏻 MAUVAIS EXEMPLE :

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

L'objectif de ce bloc de code est de faire de « l'étiquette de passerelle » quelque chose qui peut être ajouté comme balise dynamique dans les e-mails de Charitable. Le développeur ci-dessus « accroche » la fonction qui fait cela à l'« init » de WordPress, qui s'exécute chaque fois qu'une page est chargée sur le site Web – qu'elle soit dans l'administration ou sur le front-end. Notez que la fonction utilise « charitable() »... mais si cela n'existe pas, PHP générera une « erreur fatale » – et comme le code ci-dessus se charge à CHAQUE chargement de page, l'ensemble du site plantera très probablement sans possibilité de se connecter en tant qu'administrateur, etc.

Encore une fois, il est de bonne pratique de ne jamais supposer qu'une fonction existe si cette fonction fait partie d'un plugin ou d'un thème (en d'autres termes, si elle ne fait pas partie du cœur de WordPress). Supposer que la classe « charitable() » existe, c'est supposer que le plugin Charitable sera TOUJOURS là – mais si le plugin est désactivé (par un humain ou par un autre plugin) ou si le plugin est mis à jour... la fonction ne sera pas trouvée, et une erreur (potentiellement « fatale ») sera rencontrée. Voici la même fonction mais avec un ajout simple :

👍🏻 BON EXEMPLE :

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

Remarquez l'instruction « if » qui vérifie si la classe « charitable » existe – c'est une façon en PHP de vérifier en toute sécurité si la classe existe (dans ce cas, elle n'existera que si Charitable est activement exécuté sur le site Web). Si elle n'existe pas, le code ne s'exécute pas et tout le monde est en sécurité. Il est courant pour les développeurs PHP de faire des vérifications comme class_exists et function_exists pour s'assurer rapidement que le code qu'ils sont sur le point d'exécuter ne rencontrera pas d'erreurs graves parce que quelque chose qu'ils supposent exister n'existe pas.

Utiliser des noms uniques pour les fonctions

Comme indiqué dans les exemples ci-dessus, ne donnez jamais à vos fonctions des noms génériques comme « update_email » car si un autre plugin utilise le même nom (plugins actuels ou futurs que vous pourriez installer), votre site Web pourrait rencontrer des problèmes. Lors de la création d'une fonction, commencez toujours par « mon_site_web_charitable_ » (comme dans l'exemple ci-dessus, en remplaçant « mon_site_web » par une chaîne de caractères de longueur raisonnable de votre nom de site Web) pour vous assurer que vous avez probablement créé un nom personnalisé qui n'est pas répété (vous pouvez également utiliser la même logique « cela existe-t-il déjà » dans l'étape ci-dessus si vous voulez faire un effort supplémentaire).

Activer le débogage et les journaux de débogage de WordPress

Pour tout ce qui dépasse un simple script, les développeurs WordPress aiment couramment documenter et enregistrer les avertissements et les erreurs PHP pour « attraper » les problèmes (surtout s'ils ne sont pas apparemment visibles sur le site Web). L'équipe de support de Charitable recommande les fonctions de base WP_DEBUG et WP_DEBUG_LOG, comme mentionné ici dans la documentation WordPress.

Utilisation d'un plugin d'extraits de code ?

Tout ce qui précède s'applique également au code inséré dans les plugins d'extraits de code. Si vous avez un problème avec Charitable et que vous savez que vous exécutez du code personnalisé dans un extrait de code, vous devriez pouvoir désactiver le plugin d'extrait de code pour voir si cela résout le problème ou vous aide à dépanner davantage.

Ne pas tester sur la production

Enfin, il est conseillé de tester le code personnalisé sur un environnement de staging ou de développement et non en direct sur votre site web. Si vous désactivez Charitable ici à titre de test, c’est une bonne façon « finale » de déterminer si votre site web pourrait rencontrer des problèmes importants. Cela maintient votre environnement de production en sécurité et toujours capable d’accepter des dons. 


N’oubliez pas que si vous n’êtes pas sûr du code que vous ajoutez à votre thème, à votre propre plugin ou à un plugin d’extraits de code – consultez un développeur. Si vous avez des questions générales, n’hésitez pas à contacter notre équipe de support qui sera heureuse de répondre aux questions concernant tout code que vous pourriez ajouter à votre site web pour étendre Charitable. Nous sommes là pour vous et pour vous aider à étendre votre site web afin de répondre à vos besoins !

Nous espérons que le partage de ces suggestions vous donnera la confiance nécessaire et garantira que vos personnalisations de Charitable continueront de fonctionner correctement pendant des années.

Recevez des conseils et des ressources gratuits directement dans votre boîte de réception, ainsi que 60 000 autres personnes

Rejoignez notre newsletter

Nous ne vous enverrons pas de spam. Nous envoyons un e-mail uniquement lorsque nous pensons qu'il vous sera réellement utile. Désabonnez-vous à tout moment !

Vidéo en vedette :

Regardez plus de vidéos sur notre chaîne YouTube.

Quoi de neuf dans Charitable

Voir les dernières mises à jour
🔔 Abonnez-vous pour recevoir nos dernières mises à jour
📧 Abonnez-vous aux e-mails

Abonnement par e-mail

Rejoignez notre newsletter

Nous ne vous enverrons pas de spam. Nous envoyons un e-mail uniquement lorsque nous pensons qu'il vous sera réellement utile. Désabonnez-vous à tout moment !

ambassadeurs Nouveau

🖨️ Présentation des prospectus et affiches : collectez des fonds loin de l'écran !

Une grande partie de la collecte de fonds de pair à pair se fait loin d'un écran : à la ligne d'arrivée d'un 5 km, sur un panneau d'affichage d'école, dans une cuisine de bureau. Charitable Ambassadors 3.4.7 ajoute 2 imprimables, un prospectus de collecte de fonds portant la propre histoire et le code QR de chaque collecteur de fonds, et une affiche de recrutement qui inscrit de nouveaux collecteurs de fonds. Les deux s'ouvrent comme une page Web normale et s'impriment directement depuis le navigateur. Pourquoi c'est important :

  • 🏁 Un prospectus pour chaque collecteur de fonds : Chacun porte la propre photo, histoire et objectif de ce collecteur de fonds, avec un code QR qui ouvre sa page plutôt que votre campagne principale.
  • 📌 Une affiche qui recrute : Elle affiche « Recrutement en cours » au-dessus du nom de votre campagne avec un grand code QR qui ouvre votre formulaire d'inscription, afin que quelqu'un puisse commencer à collecter des fonds sans attendre un lien de votre part.
  • 🪄 Aucun outil de conception nécessaire : Les deux imprimables s'affichent comme une page Web normale et s'impriment depuis le navigateur, sans plugin PDF et sans designer.
  • 📄 2 mises en page de prospectus : « À distribuer » contient l'histoire complète pour donner à vos amis et à votre famille, et « À afficher » contient un court message accrocheur avec 5 languettes détachables pour un panneau d'affichage.
  • 🛡️ Désactivé jusqu'à ce que vous l'activiez : Les prospectus restent désactivés après la mise à jour jusqu'à ce que vous les activiez sous Charitable » Ambassadeurs » Autre » Prospectus, et seul le propriétaire ou un administrateur peut en ouvrir un.

Consultez notre annonce ici.

Amélioration Paiements

💸 Introduction des tarifs échelonnés pour l'allègement des frais : Adaptez la demande au don !

L'allègement des frais pose une courte question à vos donateurs lors du paiement : souhaitez-vous couvrir les frais de traitement de ce don ? Jusqu'à présent, cette question utilisait un taux unique pour chaque don sur une passerelle, de sorte qu'un don de 10 $ et un don de 500 $ se voyaient demander le même pourcentage. L'allègement des frais 1.3.0 vous permet de définir autant de tranches de dons que vous le souhaitez, chacune portant son propre taux. Pourquoi c'est important :

  • 🪙 Plus doux pour les petits dons : Un coût de transaction fixe représente une part beaucoup plus importante d'un don de 10 $ que d'un don de 500 $, les tranches vous permettent donc de demander moins en bas.
  • 🎚️ Autant de tranches que nécessaire : Chaque tranche porte son propre pourcentage et son propre montant fixe, et la tranche supérieure s'exécute sans limite supérieure.
  • 🛑 Un plafond facultatif : Un champ de frais maximum empêche qu'un donateur ne se voie demander plus qu'un nombre que vous choisissez, quel que soit le montant du don.
  • 🔌 Défini par passerelle de paiement : Stripe peut fonctionner avec quatre tranches tandis que Windcave et Payfast restent sur un taux unique, car les tranches appartiennent à une passerelle et non à l'ensemble de votre site.
  • 🛡️ Rien ne change tant que vous ne le décidez pas : Vos taux actuels restent exactement les mêmes jusqu'à ce que vous activiez « Utiliser les tarifs échelonnés » sous Charitable » Paramètres » Avancé » Allègement des frais.

Consultez notre annonce ici.

Dons Amélioration

📊 Votre tableau de bord Pro peut désormais comparer, exporter et évaluer !

La plupart des tableaux de bord de collecte de fonds vous indiquent seulement combien vous avez collecté. Charitable Pro 1.8.19 reconstruit le tableau de bord et la Vue d'ensemble des rapports autour des questions les plus difficiles : si quelque chose ne fonctionne pas, si cette période a été meilleure que la précédente, et quel changement unique ferait la plus grande différence aujourd'hui. Pourquoi c'est important :

  • 📈 Chaque chiffre a une tendance : Choisissez une période et les vignettes ainsi que le graphique bougent ensemble, chaque total étant affiché par rapport à la période précédente.
  • 🗓️ Des graphiques lisibles : Les courtes périodes regroupent les dons jour par jour, tandis que les longues périodes regroupent par semaine ou par mois, de sorte qu'une année complète se lit comme une courbe au lieu d'une ligne plate.
  • 🔀 Comparez n'importe quelles 2 périodes : Pas seulement consécutives, vous pouvez donc demander comment ce mois de décembre s'est comparé au mois de décembre dernier. C'est important car la collecte de fonds est saisonnière.
  • 📤 Exportez le résumé complet : Envoyez la vue d'ensemble complète en CSV ou PDF, prête pour un dossier de conseil d'administration ou un rapport de bailleur de fonds.
  • 🎯 Évaluez votre configuration gratuitement : Faites évaluer votre configuration de collecte de fonds, de sorte que le seul changement à faire ensuite soit celui que vous pouvez voir.

Consultez notre annonce ici.

Fonctionnalité Nouveau

🎟️ Présentation des Événements Caritatifs : Vendez des Billets dans Vos Campagnes !

La plupart des organisations à but non lucratif vendent des billets d'événement dans un outil et collectent des dons dans un autre, ce qui laisse deux ensembles de rapports et une correspondance manuelle à la fin de l'année. Événements Caritatifs réunit les deux, en vendant des billets via les mêmes formulaires de don et passerelles de paiement que vous utilisez déjà dans Charitable. Pourquoi c'est important :

  • 🎟️ Chaque billet est un don : Les ventes de billets passent par la passerelle que vous utilisez déjà et comptent pour l'objectif de la campagne, le tout géré sous Charitable » Événements.
  • 📱 Enregistrement par QR code depuis n'importe quel téléphone : Chaque participant reçoit son propre code QR sur le reçu, et les bénévoles scannent à l'entrée via un lien d'enregistrement qui ne nécessite aucun compte WordPress.
  • 🧾 Reçus prêts pour la déclaration de revenus : Attribuez à chaque type de billet une juste valeur marchande, et Charitable indiquera le montant déductible d'impôt correct sur chaque reçu de donateur.
  • 📋 Détails des participants au moment du paiement : Demandez à chaque invité son choix de repas, sa taille de chemise ou ses besoins d'accès, avec un enregistrement distinct du participant créé pour chaque billet.
  • 🗓️ Blocs et calendriers inclus : Trois blocs d'éditeur ainsi que la prise en charge de Sugar Calendar et The Events Calendar placent vos événements là où les supporters les recherchent déjà.

Consultez notre annonce ici.

ia Nouveau

🚀 Libérez la puissance de l'IA dans Charitable !

Votre assistant IA peut désormais créer, modifier et gérer vos campagnes de collecte de fonds Charitable directement — il suffit de demander. Avec Charitable Pro ajoutant la prise en charge de l'écriture pour l'API WordPress Abilities, des outils comme ChatGPT, Claude et Cursor peuvent gérer des actions administratives complètes en toute sécurité via MCP. Pourquoi c'est important :

  • 🤖 Création de campagnes en langage clair : Demandez à votre assistant un objectif comme « Mettre en place une collecte de fonds pour le refuge avec un objectif de 5 000 $ », et il crée une ébauche de campagne complète avec des paliers de dons suggérés.
  • 🎨 Modifications instantanées du formulaire de don : Ajoutez des champs personnalisés, changez les couleurs des boutons ou réorganisez les éléments sans avoir à modifier les paramètres du formulaire.
  • 📝 Enregistrement des dons hors ligne : Informez votre assistant des dons en espèces ou par chèque, et il associera les e-mails des donateurs et enregistrera les transactions dans votre historique.
  • 🛡️ Sécurité et contrôle par défaut : L'accès en écriture reste désactivé jusqu'à ce qu'il soit activé dans Charitable » Outils » AI MCP, maintenant la sécurité des rapports en lecture seule par défaut.
  • 📜 Journalisation complète des audits : Chaque modification apportée par un assistant IA est suivie dans Charitable » Outils » Journaux, vous savez donc toujours qui (ou quoi) a mis à jour votre site.

Consultez notre annonce ici.