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 !

Nouveau modèles

🤩 Nouveaux modèles de campagne Beacon avec bloc « Héros » !

Avec les nouveaux modèles de campagne Beacon pour Charitable Pro, vous pouvez lancer une page de collecte de fonds époustouflante sur toute la largeur qui capte instantanément l’attention des visiteurs au-dessus de la ligne de flottaison.

En-tête de la page de collecte de fonds pour Sauver le parc Maple Grove avec un widget de don et une petite photo carrée d'une miniature d'arbre ensoleillé à gauche.

🔦 Impact au-dessus de la ligne de flottaison : commencez avec une image principale sur toute la largeur, votre logo et votre objectif avec un widget de don directement sur la bannière afin que votre demande et votre élan soient enregistrés instantanément sans faire défiler.

📐 Deux mises en page flexibles : choisissez entre une mise en page structurée à deux colonnes pour le récit côte à côte et les détails de support, ou une vue épurée à une colonne conçue pour des récits longs et ininterrompus.

⚡ Champ Héros tout-en-un : alimenté par le nouveau champ Héros de campagne, réunissant les médias d’arrière-plan, les barres de progression en direct, les montants de don personnalisés et les onglets de dons récurrents dans un seul bloc cohérent qui peut être intégré dans n’importe quelle mise en page.

🎨 Correspondance automatique des thèmes : la bannière principale et le widget de don héritent automatiquement des couleurs de bouton et d’accent de votre thème de campagne, garantissant que l’ensemble de votre présentation reste magnifiquement fidèle à la marque sans toucher une ligne de CSS.

En savoir plus ici.

formulaire de don Fonctionnalité Nouveau

📝 Bloc de formulaire de don : Intégrez un formulaire de don fonctionnel n'importe où

Avec le nouveau bloc de formulaire de don pour Charitable Pro, vous pouvez placer un formulaire de don entièrement fonctionnel directement sur n'importe quelle page ou publication dans l'éditeur de blocs WordPress. Pas de redirections, pas de rechargements de page, et zéro friction entre la lecture de votre histoire et la contribution.

📝 Placez des formulaires n'importe où : Placez un formulaire fonctionnel directement sur votre page d'accueil, à l'intérieur d'une publication de blog axée sur l'histoire, sur une page de destination dédiée, ou dans une annonce de campagne.

🎯 Liaison dynamique de campagne : Choisissez facilement une campagne spécifique dans la barre latérale du bloc ou définissez-la pour qu'elle se lie automatiquement à la campagne en cours de visualisation.

📐 Vues de formulaire complètes vs minimales : Basculez entre une mise en page complète ou une vue minimale compacte pour s'adapter parfaitement aux barres latérales, aux colonnes étroites ou aux larges pages de destination.

🎨 Styles sans code ciblés : Personnalisez la typographie, l'espacement des conteneurs, le rayon des bordures, les boutons de montant et les couleurs d'accent indépendamment pour chaque instance de formulaire sans toucher une ligne de CSS.

En savoir plus ici.

ambassadeurs Nouveau

👤 Profils des créateurs : Mettez un visage derrière chaque campagne pair-à-pair

Ambassadors 3.3.0 propose désormais des profils de créateurs, offrant à vos supporters un espace public permanent et partageable qui transforme les collecteurs de fonds ponctuels en relations durables.

👤 Pages publiques des créateurs : Donnez à chaque collecteur de fonds une page de destination instantanée et soignée sur /creator/leur-nom/ pour présenter leur avatar personnalisé, leur biographie et une grille consultable de leurs campagnes.

📊 Preuve d'impact : Renforcez la confiance des donateurs en affichant les jalons de l'ensemble du site sur le profil, tels que le montant total collecté et le nombre total de donateurs.

💳 Cartes interactives au survol : Lorsque les donateurs survolent le nom d'un créateur sur une page de campagne, une carte compacte s'affiche avec sa biographie et ses identifiants sociaux au moment de la décision.

📍 Partage responsable de la localisation : Permettez aux créateurs d'indiquer en toute sécurité où se trouvent leurs supporters locaux en utilisant uniquement les détails de la ville, de l'État et du pays.

🛠️ Personnalisation en libre-service : Les collecteurs de fonds peuvent mettre à jour leurs propres profils et lier jusqu'à six réseaux sociaux directement depuis le hub Mes campagnes, ce qui vous fait gagner du temps d'administration.

Prêt à responsabiliser vos défenseurs ? Mettez à jour vers Ambassadors 3.3.0 et activez "Activer la page publique du créateur" dès aujourd'hui !

Amélioration Paiements

📱 Transformez les utilisateurs mobiles en donateurs : Découvrez la mise à niveau Mollie de Charitable

Vous perdez des supporters mobiles parce qu'ils détestent taper de longs numéros de carte sur leur téléphone ? L'intégration Mollie mise à jour de Charitable propose :

⚡ Paiement instantané via portefeuille : Permettez aux donateurs d'effectuer leurs dons instantanément en utilisant Apple Pay ou Google Pay avec une simple analyse faciale, une empreinte digitale ou un toucher.

💰 Pas de charge PCI supplémentaire : Évitez la vérification complexe du domaine et la conformité de sécurité, car toutes les transactions de portefeuille s'effectuent en toute sécurité via le paiement hébergé de Mollie.

🛠️ Routage personnalisé de l'annulation : Gardez l'expérience prévisible en renvoyant automatiquement les donateurs qui se retirent vers votre page d'annulation, ou utilisez des filtres de développeur pour les rediriger vers une page personnalisée.

Visitez cette page pour en savoir plus.

ambassadeurs amélioré Nouveau

Écrans de modération et d'annuaire dans Ambassadors 3.0

Ambassadors 3.0 propose de nouvelles fonctionnalités : écrans de modération et d'annuaire... voyez facilement ceux qui gagnent des dons sur votre réseau pair-à-pair, y compris les créateurs de campagnes qui pourraient avoir besoin d'être vérifiés, le tout en un seul endroit. Générez des rapports, envoyez des e-mails directement aux ambassadeurs et aux créateurs de campagnes, et plus encore.

🚀 Voyez quand les créateurs de campagnes et les ambassadeurs ont mis à jour leurs campagnes, ce que les donateurs/dons qu'ils ont apportés et plus encore.

🎉 Ajoutez manuellement des ambassadeurs et des créateurs de campagnes, et approuvez-les en un clic !

Visitez cette page pour en savoir plus.