Requis : Charitable Pro 1.8.16+
Charitable Ambassadors 3.0.0+
Lorsque les ambassadeurs soumettent des campagnes sur votre site, vous avez besoin d'un moyen de les examiner avant qu'elles ne soient publiées – vérifiez que le titre est pertinent, que l'objectif est raisonnable, que l'image n'est pas hors marque.
L'onglet Modération est l'endroit unique où vous faites cela. Chaque soumission de campagne passe par une file d'attente avec quatre vues claires (En attente, Action requise, Rejeté, Approuvé) et trois actions que vous pouvez effectuer sur chacune d'elles (Approuver, Rejeter, Demander des modifications).
C'est délibérément rapide. Vous pouvez approuver une ligne en deux clics, rejeter avec une raison écrite en trois, ou traiter vingt à la fois en utilisant les actions groupées.
Et si vous changez d'avis juste après avoir approuvé, vous avez une fenêtre de 30 secondes pour annuler avant que l'e-mail de l'ambassadeur ne soit envoyé.

Quand l'utiliser
- Vérification quotidienne de la file d'attente – ouvrez la Modération en premier, jetez un coup d'œil au nombre en attente, et videz le backlog avant qu'il ne s'agrandisse.
- Après une campagne de recrutement – un flot de nouvelles soumissions arrive car un ambassadeur a partagé son lien d'invitation. Approuvez en masse celles qui semblent correctes.
- Examen de la sécurité de la marque – le titre ou l'image d'une soumission ne correspond pas à votre cause. Demandez des modifications avec une note expliquant ce qu'il faut corriger.
- Contrôle du spam – les soumissions manifestement indésirables sont rejetées d'emblée.
Où trouver la Modération des Ambassadeurs
Dans votre panneau d'administration WordPress, allez à Charitable » Ambassadeurs » Modération
Le nombre dans l'étiquette de l'onglet (par exemple, Modération 7) est le nombre de campagnes en attente de décision. Il se met à jour au fur et à mesure que vous traitez la file d'attente, donc lorsqu'il atteint zéro, vous savez que vous avez rattrapé votre retard.
Approbation manuelle vs automatique
La modération n'a d'importance que si vous utilisez l'approbation manuelle. C'est le réglage par défaut pour les nouvelles installations, mais c'est un seul paramètre que vous pouvez modifier :
Admin WordPress > Charitable > Ambassadeurs > Général > Approuver automatiquement les campagnes
| Paramètre | Ce qui se passe | Qui l'utilise |
|---|---|---|
| DÉSACTIVÉ (par défaut) | Chaque soumission atterrit dans la file d'attente En attente. Vous décidez si elle est publiée. | La plupart des organisations à but non lucratif – surtout lorsqu'elles organisent des campagnes sous une marque ou pour une cause qui doit être présentée avec soin. |
| ACTIVÉ | Les soumissions sont publiées immédiatement. La file d'attente de Modération fonctionne toujours pour un examen après coup et le journal d'audit enregistre toujours qui a fait quoi, mais vous ne bloquez pas l'entrée. | Les programmes qui privilégient la rapidité et font confiance à leurs ambassadeurs, ou qui utilisent un outil de modération communautaire séparé. |
Vous pouvez changer de mode à tout moment sans perdre l'historique.
Les quatre vues
Une sous-navigation en haut de l'onglet Modération divise la file d'attente en quatre listes :

| Vue | Ce qu'il contient | Action typique |
|---|---|---|
| En attente | Nouvelles soumissions attendant votre première décision. | Approuver, rejeter ou demander des modifications. |
| Action requise | Collectes de fonds pour lesquelles vous avez demandé des révisions. Elles restent en brouillon jusqu'à ce que l'ambassadeur mette à jour et soumette à nouveau. | Réexaminez une fois que l'ambassadeur a soumis à nouveau. |
| Rejeté | Soumissions que vous avez refusées. Elles restent ici comme piste d'audit. | Généralement rien – ce sont des éléments historiques. Vous pouvez annuler le rejet en approuvant depuis cette vue. |
| Approuvé | Tout ce qui est actuellement en ligne. | Lecture seule. Utilisez Annuler l'approbation dans les 30 secondes suivant l'approbation ; après cela, modifiez la collecte de fonds directement. |
Chaque vue a son propre badge de comptage afin que vous puissiez voir d'un coup d'œil où se trouve le travail.
Approbation d'une seule collecte de fonds
Le flux d'approbation par défaut est de deux clics : survolez la ligne, cliquez sur Approuver, terminé. La collecte de fonds est publiée, le journal d'audit enregistre qui l'a approuvée et quand, et un e-mail est envoyé à l'ambassadeur pour l'en informer.

Si vous souhaitez approuver sans envoyer l'e-mail (rare mais utile pour les importations de migration ou les collectes de fonds de test), décochez la case « Notifier l'ambassadeur » qui apparaît dans la confirmation d'approbation. Ou définissez la valeur par défaut globale avec un filtre (voir la référence du développeur ci-dessous).
Rejet d'une collecte de fonds
Cliquez sur Rejeter sur la ligne. Une fenêtre modale s'ouvre demandant une raison :

La raison est obligatoire – même une courte note comme « Le titre ne correspond pas à nos directives de marque » donne à l'ambassadeur quelque chose sur quoi agir. Après votre soumission, trois choses se produisent :
- La collecte de fonds passe à un statut personnalisé
charitable-rejected(afin qu'elle soit clairement distinguable des brouillons et des publications supprimées). - La raison est stockée sur la collecte de fonds afin que tout modérateur puisse la voir plus tard.
- L'ambassadeur reçoit l'e-mail Creator Campaign Rejected avec votre raison citée dans le corps.
La collecte de fonds disparaît de En attente et apparaît dans Rejeté.
Demande de modifications
Utilisez Demander des modifications lorsqu'une collecte de fonds est *presque* prête – elle a besoin d'une retouche, mais n'est pas complètement erronée. Cliquez sur l'action et une fenêtre modale similaire s'ouvre demandant des instructions :

La collecte de fonds retourne au statut de brouillon. L'ambassadeur reçoit l'e-mail Creator Campaign Needs Revision avec vos notes, modifie la collecte de fonds et la soumet à nouveau. Lorsqu'il la soumet à nouveau, elle revient dans En attente avec le journal des modifications conservé.
C'est la voie la plus aimable pour une collecte de fonds qui est proche d'être bonne. Utilisez-la au lieu du rejet chaque fois que vous préférez que l'ambassadeur la corrige plutôt que de recommencer.
Actions groupées
Lorsque la file d'attente est occupée, vous pouvez en faire plusieurs à la fois. Cochez les cases des lignes sur lesquelles vous souhaitez agir, choisissez une action dans le menu déroulant Actions groupées au-dessus du tableau, et appliquez :

- Approbation groupée les publie toutes en même temps, envoyant l'e-mail d'approbation à chaque ambassadeur.
- Rejet groupé ouvre une seule fenêtre modale de rejet où la raison que vous entrez s'applique à chaque ligne sélectionnée.
- Demande de modifications en bloc fait de même pour les demandes de modification.
Une action groupée affiche une seule notification de confirmation en haut de la page une fois terminée (« 3 collectes de fonds approuvées »). Le journal d'audit enregistre toujours chaque décision individuellement.
L'annulation en 30 secondes
Juste après avoir approuvé une collecte de fonds, une petite pastille « Annuler » apparaît à côté de la ligne pendant 30 secondes :

Cliquez dessus et l'approbation est annulée : la collecte de fonds revient à l'état En attente, le journal d'audit enregistre une entrée « undo_approve », et l'e-mail d'approbation n'est pas envoyé (nous n'envoyons délibérément pas l'e-mail tant que la fenêtre d'annulation n'est pas passée pour les approbations en ligne – donc annuler dans la fenêtre signifie que l'ambassadeur ne saura jamais que vous l'avez presque approuvé).
Après 30 secondes, la pastille disparaît. Après cela, le seul moyen de revenir en arrière est de retirer manuellement la collecte de fonds via l'éditeur de publication WordPress standard.
L'annulation est par action, pas par ligne. Si vous approuvez cinq collectes de fonds d'affilée, vous obtenez cinq pastilles d'annulation distinctes, chacune indépendante.
Le journal d'audit
Chaque action – approuver, rejeter, demander des modifications, annuler, soumettre à nouveau – est enregistrée sur la collecte de fonds elle-même dans un journal d'audit immuable. Pour le voir, cliquez sur une seule ligne dans n'importe quelle vue et faites défiler vers le bas :

Chaque entrée affiche :
- Action – approuvé / rejeté / modifications_demandées / annuler_approbation / soumis_à_nouveau
- Modérateur – quel administrateur a effectué l'action
- Horodatage – quand cela s'est produit
- Raison ou notes – le texte que vous avez tapé (rejets et demandes de modification)
- Indicateur Notifié – si l'e-mail a été envoyé (pour les approbations)
Le journal est immuable – vous ne pouvez pas modifier ou supprimer des entrées depuis l'interface utilisateur. C'est le registre sur lequel vous pouvez vous appuyer si un ambassadeur demande un jour « pourquoi ma collecte de fonds a-t-elle été rejetée ? » ou « qui a approuvé ceci ? »
Le décompte En attente est partout
Le badge de décompte de la vue En attente alimente deux autres endroits dans l'administration afin que vous n'ayez pas à le surveiller manuellement :
- L'étiquette de l'onglet Modération elle-même (
Modération 7). - La vignette KPI Collectes de fonds en attente d'approbation sur le tableau de bord Aperçu – celle-ci n'apparaît que lorsqu'au moins une collecte de fonds est en attente.
Les deux tirent de la même source unique, elles sont donc toujours synchronisées.
Modification des collectes de fonds approuvées
Dans Ambassadeurs 3.0, les modifications apportées aux collectes de fonds déjà approuvées sont immédiatement mises en ligne – elles ne reviennent pas en modération. La raison est qu'un ambassadeur corrigeant une faute de frappe dans sa collecte de fonds déjà approuvée ne devrait pas avoir à attendre à nouveau votre équipe. Si la modération des modifications post-approbation est importante pour votre flux de travail, elle est signalée pour une future version.
Conseils
- Définissez un SLA. Une collecte de fonds en attente est une collecte de fonds qui ne rapporte pas d'argent. Visez à traiter les collectes en attente dans les 24 heures.
- Utilisez généreusement la fonction Demander des modifications. C'est l'action la plus conviviale pour l'ambassadeur – elle montre que vous avez lu la soumission et que vous voulez aider, pas seulement bloquer.
- Appuyez-vous sur les actions groupées. Si 80 % des soumissions semblent correctes, cochez-les toutes et approuvez-les en bloc d'un seul coup. Réservez l'examen individuel lent aux cas particuliers.
- Lisez le champ de raison comme un modèle. Lorsque la même raison de rejet apparaît trois fois, c'est le signe que votre formulaire de soumission a besoin de meilleures indications en amont.
Référence développeur
Le reste de cette page est destiné aux développeurs qui personnalisent le flux de travail de modération.
Statut de publication personnalisé
Les collectes de fonds rejetées passent à un statut personnalisé charitable-rejected enregistré dans includes/charitable-ambassadors-post-status.php. Il est :
- Exclu des archives publiques des campagnes (
is_archive_visible() = false). - Exclu de
wp_count_posts()pour les comptages visibles par les visiteurs. - Inclus dans les requêtes d'administration lorsque vous filtrez la table de la liste de modération par Rejeté.
Pour restaurer une collecte de fonds rejetée, faites-la passer à nouveau à draft ou publish via l'appel standard wp_update_post().
Stockage du journal d'audit
Le journal d'audit se trouve dans la clé de métadonnées de publication _charitable_ambassadors_moderation_log sur chaque collecte de fonds. La valeur est un tableau indexé ; chaque entrée est un tableau associatif :
[
'action' => 'approved' | 'rejected' | 'changes_requested' | 'undo_approve' | 'resubmitted',
'moderator_id' => int, // WP user ID
'timestamp' => int, // Unix epoch
'reason_or_notes' => string,
'notified' => bool, // optional, only on approve entries
]
La classe Charitable_Ambassadors_Moderation_Log est l'API unique de lecture/écriture :
Charitable_Ambassadors_Moderation_Log::append( $campaign_id, $action, $moderator_id, $reason_or_notes, $extra = [] );
Charitable_Ambassadors_Moderation_Log::get( $campaign_id ); // array of entries, oldest first
Charitable_Ambassadors_Moderation_Log::render_html( $campaign_id ); // newest-first HTML for the expanded row
La migration vers une table personnalisée est reportée à une version future. D'ici là, le stockage des métadonnées de publication est la source de vérité.
Métadonnées de raison/notes
La raison de rejet la plus récente et les notes de demande de modification sont dupliquées dans des clés de métadonnées dédiées afin que les e-mails et les remplacements de modèles puissent les lire directement :
| Clé de métadonnées | Tamponné par |
|---|---|
raison_de_rejet_ambassadeurs_caritatifs | refuser() |
notes_de_révision_nécessaires_ambassadeurs_caritatifs | demander_modifications() |
Ces clés sont effacées lors de la prochaine transition de statut hors de charitable-rejected / draft – donc une fois qu'une collecte de fonds est approuvée, elles disparaissent.
Filtres
| Filtre | Défaut | Objectif |
|---|---|---|
notification_par_défaut_modération_ambassadeurs_caritatifs_lors_de_l_approbation | vrai | Valeur par défaut de la case à cocher « notifier l'ambassadeur » dans le flux d'approbation en ligne. Retourne false pour des approbations silencieuses par défaut. |
ignorer_la_campagne_du_créateur_ambassadeurs_caritatifs_approuvée | faux | Utilisé en interne pour supprimer l'e-mail d'approbation lors d'un appel d'approbation unique. Généralement pas pour le code du site – utilisez plutôt le filtre default-notify ci-dessus. |
Actions
| Action | Args | Se déclenche lorsque |
|---|---|---|
transition_statut_publication | $nouveau_statut, $ancien_statut, $publication | Standard WP. Crochets de modération à la priorité 20 pour intercepter les nouvelles soumissions des ambassadeurs et les enregistrer. |
Points de terminaison AJAX
Tous sur wp_ajax_ uniquement, nonce par ligne, capacité manage_charitable_settings :
| Action | Objectif |
|---|---|
modération_approbation_ambassadeurs_caritatifs | Approuver une seule collecte de fonds. Retourne le HTML de la ligne re-rendu plus un nonce d'annulation unique. |
modération_rejet_ambassadeurs_caritatifs | Rejeter avec motif. Renvoie le HTML de la ligne re-rendu. |
modération_demande_de_modification_ambassadeurs_caritatifs | Demander des modifications avec des notes. Renvoie le HTML de la ligne re-rendu. |
modération_annuler_approbation_ambassadeurs_caritatifs | Annuler une approbation récente. Nécessite le nonce unique renvoyé par l'appel d'approbation. |
Gestionnaires de soumission de formulaire
| URL | Utilisé par |
|---|---|
admin-post.php?action=charitable_ambassadors_moderation_bulk | Le formulaire Actions groupées en haut du tableau. |
admin-post.php?action=charitable_ambassadors_moderation_single | La bannière Approuver / Rejeter / Demander des modifications sur la page d'aperçu des Ambassadeurs. Même logique métier que les points d'accès AJAX ; redirige vers la modération avec un argument de requête de résultat. |
Logique métier réutilisable
Le même chemin d'approbation/rejet/demande de modification est utilisé partout (AJAX, groupé, bannière). Les méthodes de Charitable_Ambassadors_Moderation sont publiques et peuvent être appelées depuis votre propre code une fois que vous avez géré les vérifications de capacité et de nonce :
Charitable_Ambassadors_Moderation::get_instance()->do_approve( $campaign_id, $notify = true );
Charitable_Ambassadors_Moderation::get_instance()->do_reject( $campaign_id, $reason = '' );
Charitable_Ambassadors_Moderation::get_instance()->do_request_changes( $campaign_id, $notes = '' );
Source du compte en attente
Le badge de compte en attente dans l'ensemble de l'administration (étiquette d'onglet, tuile KPI Aperçu, partout ailleurs) provient d'une seule aide pour les maintenir synchronisés :
Charitable_Ambassadors_Overview_Data::get_instance()->get_pending_approvals_count();
La valeur est indépendante de la plage (elle reflète toujours « maintenant », pas la plage de dates de l'Aperçu actif) et est mise en cache par la couche de mise en cache transitoire des données de l'Aperçu. La sauvegarde d'une approbation ou d'un rejet vide le cache automatiquement via les crochets existants de la classe de données de l'Aperçu.
Capacités
Porte unique : manage_charitable_settings. Accordé aux administrateurs par défaut. Ajoutez la capacité à un autre rôle pour accorder l'accès à la modération sans accorder l'accès complet aux paramètres de Charitable.
Journalisation
Chaque action de modération s'écrit dans Outils Charitable > Journal via charitable_ambassadors_log(). Les entrées de journal structurées ont des clés ambassadors_event :
| Événement | Quand |
|---|---|
modération_approuvée | Action d'approbation validée. |
modération_rejetée | Action de rejet validée. |
modération_modifications_demandées | Demande de modifications validée. |
Exemples de personnalisation
Par défaut, approbations silencieuses (pas d'e-mail) :
add_filter( 'charitable_ambassadors_moderation_default_notify_on_approve', '__return_false' );
Notifier un canal Slack à chaque rejet :
add_action( 'transition_post_status', function ( $new, $old, $post ) {
if ( 'charitable-rejected' !== $new ) {
return;
}
if ( get_post_type( $post ) !== 'campaign' ) {
return;
}
$reason = get_post_meta( $post->ID, '_charitable_ambassadors_rejection_reason', true );
// ...post to Slack webhook with $post->post_title and $reason.
}, 30, 3 );
Lire le journal d'audit d'une collecte de fonds :
$log = Charitable_Ambassadors_Moderation_Log::get( $campaign_id );
foreach ( $log as $entry ) {
printf( "%s by user #%d at %sn", $entry['action'], $entry['moderator_id'], gmdate( 'c', $entry['timestamp'] ) );
}
Approuver par programme une collecte de fonds à partir d'un flux de travail externe (par exemple, un webhook CRM) :
if ( current_user_can( 'manage_charitable_settings' ) ) {
Charitable_Ambassadors_Moderation::get_instance()->do_approve( $campaign_id, true );
}
Connexes
- Approfondissement des actions de modération – le flux Approuver / Rejeter / Demander des modifications / Annuler en détail.
- Modèles d’e-mail – les trois e-mails transactionnels envoyés par la modération.
- Tableau de bord général – où le nombre d’éléments en attente s’affiche comme indicateur clé de performance.
- Soumettre une campagne – le formulaire que les ambassadeurs utilisent pour soumettre des collectes de fonds.
- Hooks & filtres dans Ambassadors – la référence complète des filtres et actions.
Liens utiles
🤝 Obtenez de l’aide quand vous en avez besoin
📑 Trouvez le guide dont vous avez besoin
Parcourez le Hub de documentation →
⬇️ Téléchargez des stratégies éprouvées, des idées de campagnes et des outils d'experts
Obtenez le kit de collecte de fonds →
💸 Obtenez des ressources gratuites pour la collecte de fonds
Rendez-vous sur le Hub de collecte de fonds Charitable →
🤔 Des questions sur Charitable ?
FAQ Charitable →
Besoin d'aide pour comprendre les termes et le jargon des organisations à but non lucratif ?
Consultez notre glossaire des organisations à but non lucratif→


