Documentation Charitable

Apprenez à tirer le meilleur parti de Charitable grâce à des instructions claires, étape par étape.

Ambassadeurs Charitable : Équipes – Regroupez les collectes de fonds sous un seul capitaine

Requires: Charitable Pro 1.8.16+ Charitable Ambassadors 3.1.0+

team in Charitable Ambassadors is a group of fundraisers working together toward a shared goal under a single captain. The captain runs the team page; members create their own personal fundraisers that roll up under the team’s totals. Donors can give to a member directly, to the team as a whole, or both.

Teams are the natural unit for marathons, walkathons, school-by-school fundraisers, faith-community pledges, and any other peer-to-peer model where supporters self-organise into groups. Charitable Ambassadors 3.1 gives admins a full management surface for teams (list, profile drill-in, captain transfers, member email) and gives donors a clean Team Members section on every team campaign page.

When you’d use teams

  • Running a marathon or walkathon where supporters form teams (by company, by school, by friend-group) and want a team page they can share.
  • Letting a school or church coordinate under one umbrella, with each classroom or small group running its own sub-fundraiser.
  • Setting up a corporate match drive where each department captains a team and competes for the highest total.
  • Anywhere you need a “leaderboard of groups, not individuals” – teams aggregate naturally where individual fundraisers don’t.

The mental model

Teams sit on top of the existing Ambassadors parent / fundraiser structure:

  • parent campaign is the umbrella cause (e.g. “2026 Spring Marathon”).
  • team campaign is one team under that parent (e.g. “Team Acme Corp”). The team has a captain.
  • member fundraiser is one person’s individual page under the team (e.g. “Sarah’s Spring Marathon page”). Sarah is a member of Team Acme Corp.

Donations to Sarah’s page count toward Sarah, toward Team Acme Corp’s total, and toward the 2026 Spring Marathon overall. The math rolls up automatically through Charitable’s existing parent / child aggregation – teams don’t introduce a new accounting layer.

Admin – the Teams list

WordPress Admin > Charitable > Ambassadors > Directory > Teams

The Directory tab now has a sub-nav with two views: Ambassadors (the existing list of individual fundraisers) and Teams (this new view). The Teams view is structured exactly like the Ambassadors view so the muscle memory carries over.

The list shows one row per team with these columns:

ColonneWhat it shows
TeamTeam name, with a coloured “Team” chip. Click to drill into the team profile.
CaptainThe captain’s display name with a small avatar. If the team has no captain assigned, you’ll see “No captain” in italics.
Parent campaignThe parent campaign this team rolls up to. Click to open the parent.
MembersThe number of member fundraisers in this team.
CollectéTotal raised across the team (captain + all members).
Last activityDate of the most recent donation to anyone on the team.
Statut“Active” or “Archived”.

Filtres

Above the list, four view shortcuts (All / Active / Archived / Invite only) and a search box. The Filter button opens a modal for more granular filtering:

FiltreOptions
ArchivedAny / Yes / No
Invite-onlyAny / Yes / No
Parent campaignPick from your campaigns
CaptainFree-text search across captain name + email
Created from / toPlage de dates

Search and filters compose – applying a filter, then searching, narrows the result set further.

Bulk actions

Select rows with the checkbox column, then use the bulk dropdown:

  • Archive selected – flips the archived flag. Archived teams stop showing on listing pages but keep all their data; they remain searchable and can be unarchived later.
  • Unarchive selected – the reverse.
  • Move to Trash – sends the team campaign post to the WP trash. Member fundraisers are unaffected.
  • Export selected as CSV – streams a CSV of just the selected rows.

The full list can also be exported via the Export button in the toolbar. The CSV is formula-injection safe.

Admin – the Team profile

Click any team name in the list to drill into the team profile. The profile is a single page with a hero strip on top and four sub-tabs underneath: Overview, Members, Donations, Settings.

Hero strip

The hero strip surfaces the team’s identity at a glance: team name, captain (linked to the Ambassador profile if the captain matched a WP user), parent campaign (linked), created date, and member count. A “Captained by [name]” badge is also shown on the captain’s own Ambassador Directory profile, so you can navigate from a person to all the teams they captain.

Sub-tabs

Sub-tabWhat’s there
AperçuKPIs (raised, donors, donations, average) scoped to this team only. A chart showing donation velocity over the team’s lifetime.
MembersThe list of member fundraisers, with raised totals, last-donation date, last-contacted date, and per-row actions (remove member, resend invite).
DonsEvery donation that rolled up to this team, filterable by date range and status, with CSV export.
ParamètresThe same form you’d see in the team campaign meta-box on the post-edit screen, embedded here for convenience. Includes the invite-only toggle, internal admin notes field, and Replace Captain control.

Each sub-tab loads its content lazily – the data isn’t fetched until you click the tab. This keeps the initial profile render fast even on teams with hundreds of members or donations.

Replace Captain workflow

Captains change. Someone steps back, someone steps up. The Replace Captain control on the Settings sub-tab (and inside the post-edit Team Settings meta-box) opens a picker that surfaces eligible team members.

How it works:

  1. The picker shows every active member of this team. You can search by name or email.
  2. Pick a new captain and confirm.
  3. The previous captain is demoted to a regular member (their fundraiser stays intact).
  4. The new captain inherits the team page ownership.
  5. The change is logged to the team’s audit trail.

The picker only offers members who are already on the team – it’s not a way to add a new person and immediately make them captain. To do that, invite them as a member first, then promote.

Send Email modal (team members)

The Members sub-tab and the per-row actions both expose a Send Email button. Clicking it opens a modal that lets the admin send a templated email to one or more team members, with smart tags substituted server-side. If your site’s wp_mail isn’t configured for outbound delivery, the modal falls back to a mailto: link that opens the admin’s own mail client with the body pre-filled.

The Members panel also shows a Last contacted date on each row so you can see at a glance who you’ve already emailed and who you haven’t.

Per-team “invite only” toggle

Some teams should be open-join (anyone can sign up as a member); some should be invite-only (the captain selects who can join). The Settings sub-tab has an Invite only toggle that flips this. When invite-only is on:

  • The frontend Team Members section hides the join CTA.
  • New signups via the parent campaign’s submit-fundraiser flow can’t pick this team.
  • The team can still be joined via direct invite links.

Internal admin notes

The Settings sub-tab has an Internal admin notes field – a rich-text area visible only to admins. Useful for context like “captain is a board member, prioritise responses” or “team raised $50k last year, treat as VIP.” Notes never appear on the frontend.

Frontend – the Team Members section

On the public side, every team campaign page now renders a Team Members section below the main campaign body. This is what donors and prospective members see when they visit a team page.

A team campaign page on the frontend, showing the Team Members section with member cards and a join CTA

The section has three parts:

PartWhat it shows
Team-wide progress barThe team’s combined raised total against the team’s goal. This rolls up captain + all members.
Member cardsOne card per member fundraiser – member photo, name, raised total, progress bar, and a link to their individual page.
Join CTAA “Join this team” button that takes visitors to the parent campaign’s submit-fundraiser flow with this team pre-selected. Hidden when the team is invite-only.

Donors can give directly to a member by clicking their card, or to the team as a whole through the main donate button on the team page itself. Either path counts toward the team’s total.

Enhanced vs Visual mode

The Team Members section works in both Enhanced and Visual template modes – it’s not tied to a particular layout variant. The styling adapts:

  • Enhanced mode uses a standard card grid that matches the chosen layout variant (classic, story-forward, rally, etc.).
  • Visual mode inherits the configured template campaign’s styling. Card spacing, typography, and accent colors all flow from the same source as the rest of the fundraiser page.

Identity row on team campaign pages

Team campaign pages also get an identity row above the donate button that names the captain and the parent campaign as quick links. This gives visitors immediate context: “Captained by Sarah Lee, part of the 2026 Spring Marathon.”

Conseils

  • Seed your first team before launching the program. Create one team, captain it yourself, invite 2-3 colleagues as members, and walk through the donor-facing flow once. Catching the “is the join CTA visible?” or “is the progress bar rolling up correctly?” question now saves a support ticket later.
  • Set invite-only thoughtfully. Open-join is the right default for most public marathons. Invite-only fits corporate, school, or friend-group contexts where you want the captain to curate the membership.
  • Use the Send Email modal sparingly. A blast to every team member every week feels like spam. Use it for genuine milestones (kickoff, midpoint, final push, thank-you-for-finishing).
  • Archive at the end of a season. Don’t trash teams once the marathon’s over – archive them. You keep the historical data, the captain and members keep their public pages, and you can unarchive next year if the same team wants to run again.
  • Check the Last contacted column before sending. If you’ve already emailed this team this week, the Last contacted column will tell you. Avoid the double-tap.

Migration from earlier versions

If you ran an Ambassadors site on 3.0 before upgrading to 3.1, your existing team campaigns continue to work exactly as before. The new Teams admin surfaces just expose what was already in the database with a proper UI. No data migration is required. The first time you visit Directory > Teams after upgrading, the list populates from your existing team campaign posts.


Developer reference

Capability gates

ActionCapability required
View Teams list and team profilemanage_charitable_settings
Archive / unarchive / trash a teammanage_charitable_settings
Replace a team’s captainmanage_charitable_settings
Send Email to a team membermanage_charitable_settings
Edit a team’s settingsmanage_charitable_settings

The same capability gates every admin Teams action. There are no new capabilities introduced – if a user can manage Charitable settings, they can manage teams.

Filtres

FiltreDéfautObjectif
charitable_ambassadors_team_section_include_selfvraiWhether the viewing fundraiser’s own card appears in the Team Members section. Filter to false to hide their own card when they land on their own fundraiser page.
charitable_ambassadors_team_section_show_join_ctavraiWhether the Join CTA button renders. Forced to false when the team is invite-only.
charitable_ambassadors_team_section_show_progress_barvraiWhether the team-wide progress bar renders.
charitable_ambassadors_team_section_member_card_per_row3Number of member cards per row in the grid.
charitable_ambassadors_team_section_member_order'raised_desc'Sort order for member cards. Options: raised_descraised_ascname_ascname_descrecent_first.
charitable_ambassadors_teams_list_per_page20Page size for the Teams admin list.
charitable_ambassadors_teams_export_columnstableauColumns included in the Teams CSV export.

Actions

ActionSe déclenche lorsqueArgs
charitable_ambassadors_team_captain_replacedAdmin replaces a team’s captain via the picker.$team_id$old_captain_id$new_captain_id
charitable_ambassadors_team_archivedTeam is archived (single or bulk).$team_id$archived_by
charitable_ambassadors_team_unarchivedTeam is unarchived.$team_id$unarchived_by
charitable_ambassadors_team_member_email_sentSend Email modal sends an email to a team member.$team_id$member_id$subject$body

Classes and database

SymbolRole
Charitable_Ambassadors_TeamThe team domain object. Backed by the wp_charitable_teams custom table for team-specific metadata (captain ID, invite-only flag, archive flag) and by the team’s WordPress post for everything else.
Charitable_Teams_DBCustom-table accessor for wp_charitable_teams. Created on plugin activation; safe to rebuild via the Site Health checks.
Charitable_Team_Members_DBCustom-table accessor for wp_charitable_team_members. Tracks the team membership join + invitation states.
Charitable_Ambassadors_Directory_Teams_DataRead model for the Teams list view. Owns the search + filter SQL.
Charitable_Ambassadors_Directory_Teams_List_TableThe WP_List_Table subclass that renders the admin list.
Charitable_Ambassadors_Directory_Teams_ProfileThe team profile drill-in. Dispatches the four sub-tabs and handles lazy AJAX loading.
Charitable_Ambassadors_Team_Meta_BoxRenders the Team Settings meta-box on the post-edit screen, shared with the Settings sub-tab on the profile.
Charitable_Ambassadors_Team_Settings_AjaxAJAX endpoint for the meta-box save + Replace Captain workflow.
Charitable_Ambassadors_Teams_Export_CSVStreamed CSV export for the Teams list and team profile Members panel.

Points de terminaison AJAX

ActionObjectif
wp_ajax_charitable_ambassadors_teams_archive_toggleArchive / unarchive a single team.
wp_ajax_charitable_ambassadors_teams_bulk_archiveBulk archive / unarchive / trash.
wp_ajax_charitable_ambassadors_teams_export_csvStream a CSV of the filtered teams.
wp_ajax_charitable_ambassadors_team_replace_captainReplace the captain of a single team.
wp_ajax_charitable_ambassadors_team_member_removeRemove a member fundraiser from a team.
wp_ajax_charitable_ambassadors_team_member_resend_inviteResend the invite email to a pending member.
wp_ajax_charitable_ambassadors_team_member_send_emailSend a one-off email to a team member via the modal.
wp_ajax_charitable_ambassadors_team_profile_panelLazy-load a sub-tab’s content (Overview / Members / Donations / Settings).

All endpoints check current_user_can( 'manage_charitable_settings' ) and verify a per-action nonce. Bulk and per-row mutations are also logged to the team’s audit trail.

Template overrides

To customise the frontend Team Members section from your theme:

your-theme/charitable-pro/charitable-ambassadors/team-members/team-members-section.php
your-theme/charitable-pro/charitable-ambassadors/team-members/team-members-section-compact.php
your-theme/charitable-pro/charitable-ambassadors/team-members/member-card-enhanced.php
your-theme/charitable-pro/charitable-ambassadors/team-members/team-section-join-cta.php
your-theme/charitable-pro/charitable-ambassadors/team-members/team-section-progress-bar.php
your-theme/charitable-pro/charitable-ambassadors/campaign/identity-row-team.php

The compact variant (team-members-section-compact.php) is used inside narrow layout variants; the standard variant fills the page width.

Customization examples

Hide the join CTA across all teams:

add_filter( 'charitable_ambassadors_team_section_show_join_cta', '__return_false' );

Sort member cards alphabetically instead of by raised:

add_filter( 'charitable_ambassadors_team_section_member_order', function () {
    return 'name_asc';
} );

Show 4 member cards per row instead of 3:

add_filter( 'charitable_ambassadors_team_section_member_card_per_row', function () {
    return 4;
} );

Add a “Department” column to the Teams CSV export:

add_filter( 'charitable_ambassadors_teams_export_columns', function ( $columns ) {
    $columns['department'] = array(
        'header'   => __( 'Department', 'your-theme' ),
        'callback' => function ( $team ) {
            return (string) get_post_meta( $team->ID, '_team_department', true );
        },
    );
    return $columns;
} );

Send a Slack notification when a captain is replaced:

add_action( 'charitable_ambassadors_team_captain_replaced', function ( $team_id, $old_captain_id, $new_captain_id ) {
    $team = get_post( $team_id );
    wp_remote_post( 'https://hooks.slack.com/services/...', array(
        'body' => wp_json_encode( array(
            'text' => sprintf(
                'Captain replaced on team "%s" - was user #%d, now user #%d.',
                $team->post_title,
                $old_captain_id,
                $new_captain_id
            ),
        ) ),
    ) );
}, 10, 3 );

Connexes

  • Directory – the parent admin surface that hosts the Teams sub-tab.
  • Fundraiser Page – covers the frontend rendering of all campaign types, including team campaigns.
  • Submit Campaign – how ambassadors create their fundraisers; for teams, this is where members pick which team to join.
  • Permissions – capability requirements for every admin action.

Asset list (for the docs editor)

FilenameWhat to captureSuggested alt text
01-teams-list.pngDirectory > Teams list view, 4-6 teams visible with their captains and raised totals.The Directory > Teams sub-tab in admin, showing a list of teams with captain, members, raised, and archive status
02-directory-subnav.pngClose-up of the Directory sub-nav showing Ambassadors / Teams tabs, Teams active.The Directory sub-nav with Ambassadors and Teams tabs, Teams active
03-team-profile-hero.pngA team profile’s hero strip with captain link, parent link, member badges.The team profile hero with captain link, parent campaign link, created date, and member count badges
04-replace-captain.pngThe Replace Captain modal open with the member picker.The Replace Captain modal with a searchable list of current team members
05-team-members-section-frontend.pngFrontend team campaign page showing the Team Members section with cards.A team campaign page on the frontend, showing the Team Members section with member cards and a join CTA

Remarques

These captures need:

  • At least 4-6 seeded teams across at least 2 different parent campaigns.
  • Each team needs a captain (a WP user matched by the email) and 3-5 member fundraisers.
  • One team should be archived so the “archived” row state shows in the list.
  • One team should be invite-only so the frontend capture can show that variant separately if needed.
  • The data-spawner addon’s “P2P parents” seeder creates the structural skeleton; you’ll still need to manually mark a couple as teams via the campaign-type taxonomy.

Vous avez encore des questions ? Nous sommes là pour vous aider !

Dernière modification :

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 !

GiveWP Migrations Nouveau

Service de migration "White Glove" pour GiveWP

Vous envisagez de passer de GiveWP à Charitable pour votre plateforme de collecte de fonds, mais vous ne voulez pas risquer de perdre vos données ni gérer vous-même une configuration technique complexe ? Le service de migration "White Glove" de Charitable comprend :

👥 Cartographie parfaite des donateurs : transférez en toute sécurité toute votre base de données de supporters sans aucune perte de données.

📊 Historique financier complet : préservez méticuleusement chaque transaction historique pour des rapports continus et précis.

🔄 Dons récurrents transparents : transférez en toute sécurité les abonnements récurrents actifs sans perturber vos revenus entrants ni obliger vos donateurs à mettre à jour leurs informations.

💳 Aucune interruption de passerelle : continuez à utiliser Stripe, PayPal ou tout autre processeur compatible avec GiveWP que vous utilisez déjà.

🚀 Configuration technique experte : détendez-vous pendant que notre équipe s'occupe du travail le plus difficile pour installer et configurer vos formulaires — de plus, les utilisateurs éligibles reçoivent une année complète de Charitable Pro gratuitement.

Visitez cette page pour en savoir plus.

automatisation Amélioration

📢 Alerte nouvelle fonctionnalité : Automation Connect 2.0 est là ! 🚀

Vous envisagez de connecter vos données de collecte de fonds à des outils comme Mailchimp, Slack ou Google Sheets, mais vous ne voulez pas engager un développeur ou écrire du code personnalisé ? Le nouvel add-on d'automatisation de Charitable propose :

⚡ 17 déclencheurs d'événements : déclenchez instantanément des webhooks pour le premier don d'un donateur, les paiements de renouvellement ou les étapes importantes de la campagne atteintes.

🎯 Logique conditionnelle intelligente : utilisez une logique ET/OU puissante sur 11 champs pour n'envoyer des données que lorsqu'elles répondent à vos critères exacts, comme les inscriptions à la newsletter.

📊 Contrôle personnalisé de la charge utile : choisissez parmi plus de 80 champs de données propres sur les métadonnées du donateur, du don et de la campagne afin que vos applications obtiennent exactement ce dont elles ont besoin.

🚀 Modèles de plateforme pré-intégrés : évitez la configuration à partir de zéro avec des modèles prêts à l'emploi pour Zapier, Make.com, n8n, HubSpot et Slack.

🛡️ Outils de développement fiables : alimentez vos flux de travail avec des charges utiles signées HMAC-SHA256, des filtres WordPress complets et des journaux de nouvelles tentatives automatiques.

automatisation Amélioration

🔌 Charitable rencontre Zapier : Connectez-vous à plus de 7 000 applications et automatisez votre collecte de fonds

Fatigué de copier manuellement les données de dons dans des feuilles comptables ou de rechercher les nouvelles inscriptions de donateurs ? Mettez vos tâches administratives en pilote automatique. Charitable est maintenant officiellement sur Zapier, vous offrant un moyen puissant et sans code de connecter directement votre collecte de fonds au reste de vos outils préférés.

Chaque don, inscription de donateur et jalon de campagne peut désormais déclencher un flux de travail automatisé en toute transparence.

Quoi de neuf :

♾️ Connectez-vous à plus de 7 000 applications : Reliez vos campagnes Charitable à des logiciels quotidiens comme Google Sheets, QuickBooks, Slack, Mailchimp, HubSpot, Notion, Airtable, et des milliers d'autres.

⚡ 12 déclencheurs puissants : Créez des flux de travail approfondis à l'aide de déclencheurs d'automatisation intelligents couvrant l'ensemble du cycle de vie des dons, y compris Nouveau don, Nouveau donateur, Abonnement annulé et Objectif de campagne atteint.

📋 Modèles d'actions pré-intégrés : Commencez en trois minutes ou moins avec nos combinaisons de modèles prédéfinis, comme l'enregistrement automatique des nouveaux dons directement dans une feuille Google ou l'envoi d'e-mails de bienvenue personnalisés aux donateurs via Gmail.

🚫 Zéro code requis : Pas de webhooks complexes ni de scripts PHP personnalisés nécessaires. Choisissez simplement votre déclencheur, sélectionnez votre application, mappez vos champs, et laissez Zapier s'occuper du travail acharné.

Prêt à économiser des heures d'administration ? Obtenez Charitable Pro avec le module complémentaire Automation Connect dès aujourd'hui et lancez votre premier Zap !

Amélioration Paiements

🚀 Présentation de PayPal Commerce : Une connexion, six façons de faire un don

Les donateurs s'attendent à des options de paiement modernes et flexibles lorsqu'ils soutiennent une cause. S'ils ne voient pas leur méthode préférée sur votre formulaire de don, ils disparaissent souvent sans un mot. Avec PayPal Commerce, nous apportons une expérience de paiement entièrement modernisée directement à vos campagnes.

Profitez d'une seule intégration qui améliore vos formulaires, rend le don transparent et vous aide à capturer chaque don.

Quoi de neuf :

🔌 Connexion en un clic : Oubliez les clés API compliquées et la documentation pour développeurs. Cliquez simplement sur « Se connecter avec PayPal », connectez-vous à votre compte professionnel, et votre formulaire moderne sera en ligne en moins de cinq minutes.

💳 Six façons de donner : Offrez à vos supporters un accès instantané à leur solde PayPal, Venmo (US), le financement « Pay Later », les principales cartes de crédit/débit, Apple Pay (Safari) et Google Pay (Chrome), le tout à partir du même formulaire.

🔄 Dons récurrents flexibles : Prend entièrement en charge les dons mensuels. Choisissez entre l'API PayPal Subscriptions (gérée automatiquement par PayPal) ou Vault + Cron (gérée en toute sécurité sur votre site).

💬 Récupération d'erreurs conviviale : Fini les alertes navigateur confuses. Si un paiement est refusé, les donateurs voient des messages clairs et intégrés qui les guident sur la façon de résoudre le problème et de finaliser leur don.

Prêt pour PayPal, modernisé ? Mettez à jour vers Charitable Pro 1.8.15+ (ou Charitable Lite 1.8.11+) et connectez votre compte dès aujourd'hui !

Campagnes Nouveau

⏳ Compte à rebours de campagne : Créez de l'urgence et augmentez les dons

L'urgence est l'un des outils les plus puissants en collecte de fonds ! Découvrez le compte à rebours de campagne, un minuteur en direct et en temps réel conçu pour transformer la procrastination en générosité immédiate.

animation_compte_a_rebours_campagne

Quoi de neuf :

⏱️ Urgence en temps réel : Suivez magnifiquement les jours, heures, minutes et secondes jusqu'à la date limite de votre campagne avec des comptes à rebours visuels mis à jour en direct.

🎨 Adapté à votre style : Choisissez entre des tuiles bordées "Boxed" ou un affichage épuré "Inline" sur une seule ligne. Adaptez instantanément votre thème avec des contrôles de police et de couleur profonde.

🛠️ Placez-le n'importe où : Insérez le compte à rebours où vous le souhaitez en utilisant le champ "Campaign Builder", un bloc Gutenberg dédié, ou un simple shortcode.

🚨 Actions intelligentes à l'expiration : Contrôle total de l'état final : choisissez de remplacer automatiquement le minuteur par un message personnalisé, de le figer à zéro, et plus encore.