Rosterkeeper for Clubs
A complete membership management system for clubs: configurable member numbers, online join/renewal with PayPal, and a public member roster shortcode.
Use with caution
Rosterkeeper for Clubs works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
- Tested with the latest WordPress (7.1)
- Small user base (<10 active installs)
- Very few reviews so far
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Rosterkeeper for Clubs stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| club management | #62 |
| CSV Import | >100 |
| member directory | >100 |
| membership | >100 |
| paypal | >100 |
About Rosterkeeper for Clubs
From the official readme · v3.14.5Description
Rosterkeeper for Clubs gives a club a full membership back office inside WordPress:
- A custom member roster (name, address, phone, email, emergency contact, expiration date) with a configurable, unique, sequential member number.
- An admin screen to add, edit, search, sort, and bulk-delete members.
- CSV import, with column mapping so it adapts to whatever spreadsheet you already have — fully functional: creates new members, and updates existing ones when a row’s member number already matches. CSV export, and the option to choose skip-vs-update behavior per import, are available via the optional Pro add-on described below.
- A public
[rkfc_roster]shortcode showing a sortable, searchable member directory, with configurable display rules for expired members and an admin-selectable choice of which fields appear as columns. - Online joining and renewal via two front-end forms (
[rkfc_join_form]and[rkfc_renew_form]), each collecting the required info, a waiver/terms acceptance, and then a PayPal payment. A successful, server-verified payment automatically creates or updates the member’s roster record — no manual data entry required. - A self-service “update my info” form (
[rkfc_update_profile]) that lets a member update their own contact info without any admin involvement — secured by emailing a one-time link to the address already on file, so one member can never look up or edit another’s record. - A “resend my welcome email” form (
[rkfc_resend_welcome]) so a member can trigger the configurable welcome email again by looking themselves up with member number + last name — no data exposure since it only resends an email, with a short cooldown to prevent repeated resends to the same person. - A choice of three membership-year models, configurable from Settings: fixed season (a defined membership year with an independently configurable in-season/off-season pricing window), rolling (a single flat annual fee, always expiring exactly one year from the join/renewal date), or free (no fee and no PayPal step at all — visitors still complete the join/renewal form and agree to the waiver/terms).
- A “Join Requests” log for troubleshooting online payments. Bulk “Email Members” is available via the optional Pro add-on described below.
- A manual “Send Renewal Notice” button next to each member in the admin list (with a “Last Notified” column so you can see at a glance who’s already been nudged), for a one-off configurable renewal reminder — real troubleshooting value on its own (e.g. a member says a notice went to spam), and every send is recorded on its own Renewal Notice Log page with CSV export. Want this fully automatic instead — up to four notices per member, timed automatically before and after expiration, running hands-off in the background? That’s what the optional Pro add-on adds.
- Every club-specific label (the member number’s name, the club’s name used in payment descriptions and the waiver heading, the waiver/terms text itself) is editable from Settings — nothing requires touching code.
- Optional “Rosterkeeper for Clubs – CSV & Email Pro” add-on (sold separately, not on WordPress.org) adds CSV export, the choice of skip-vs-update behavior per CSV import, a Merge Supplemental Data tool, the bulk email tool, and fully automated multi-notice renewal reminders. Import & Export now includes a real, fully-functional CSV import on the free tier (see above — no restrictions); Email Members remains a Pro-only tool, showing a brief upsell message on the free tier in its place.
Membership Year Models
Fixed Season: choose a season-start month and day (e.g. April 1) — this governs when membership years begin and expire (memberships always expire the day before the next occurrence of that date, e.g. March 31). Separately, an independently configurable In-Season Window (a start month and end month, which can wrap around the year) determines which months use the In-Season Fee versus the Off-Season Fee — this doesn’t need to align with the season-start date at all, so pricing can match your club’s actual activity season regardless of your fiscal year.
Rolling: a single flat fee, no seasonal split. Every membership expires exactly one year from whenever it was purchased or renewed, with no fixed fiscal year.
Free: no fee is charged and the PayPal payment step is skipped entirely for both [rkfc_join_form] and [rkfc_renew_form]. Visitors still complete the full form and must agree to the waiver/terms — membership is required, it’s just free. Dated the same way as Rolling (one year from signup/renewal).
Switching models only affects new signups/renewals going forward; it never retroactively changes any expiration date already on file.
External services
This plugin connects to PayPal’s API to process membership payments for the online join and renewal forms ([rkfc_join_form] and [rkfc_renew_form]). This only happens when a visitor actively submits one of those forms and proceeds to pay — it does not run in the background or on any other page.
What is sent, and to whom:
- When a visitor clicks the PayPal button, the plugin’s server creates a PayPal order via PayPal’s REST API (
api-m.paypal.comfor live transactions,api-m.sandbox.paypal.comin Sandbox/testing mode), sending the membership fee amount and a random, non-identifying reference token. - The visitor’s browser then loads PayPal’s own Checkout JavaScript SDK directly from PayPal (
https://www.paypal.com/sdk/js) to complete the payment on PayPal’s site. - After the visitor approves payment, the plugin’s server calls PayPal’s API again to capture (finalize) the transaction and confirm it succeeded, before creating or updating the corresponding member record.
No member contact information (name, address, email, etc.) is sent to PayPal by this plugin; only the payment amount and an anonymous reference token are sent as part of the order. PayPal’s own checkout process, once the visitor is on PayPal’s site, is governed entirely by PayPal’s own privacy policy and terms of service:
- PayPal Privacy Policy: https://www.paypal.com/us/legalhub/privacy-full
- PayPal User Agreement: https://www.paypal.com/us/legalhub/useragreement-full
A site administrator must configure their own PayPal API credentials (Client ID and Secret) under Club Members > Settings for this feature to function; it does nothing with PayPal until that’s done.
Installation
- Upload the plugin files to
/wp-content/plugins/rosterkeeper-for-clubs, or install the zip directly via Plugins > Add New > Upload Plugin. - Activate the plugin. This creates the plugin’s own database tables — no existing WordPress data is touched.
- A “Club Members” menu appears in your WordPress admin sidebar. Visit Club Members > Settings to configure the member number label, club name, membership-year model, and (if you’ll use online join/renewal) your PayPal credentials.
- Place
[rkfc_roster],[rkfc_join_form], and/or[rkfc_renew_form]on pages as needed.
Frequently asked questions
Does this require PayPal?
No. The member roster, admin management, and online join/renewal are separate — the join/renewal forms are the only thing that needs PayPal configured.
Can I rename “member number” to something else?
Yes. Club Members > Settings has a “Member Number Label” and a “Member Number Short Label” field, used throughout the admin, the public roster, and the join/renewal forms.
What happens to existing members if I switch membership-year models?
Nothing retroactive. Changing between Fixed Season and Rolling only affects new signups and renewals going forward.
Does this plugin track or phone home any usage data?
No. The only external network calls this plugin makes are the PayPal API calls described above, and only when a visitor actively submits a payment form.
Changelog
Removes the [bcm_] backward-compatibility shortcode aliases added in 3.14.0 (required by WordPress.org's prefix policy — no exception for compat aliases). If any page content still uses [bcm_roster], [bcm_join_form], [bcm_renew_form], [bcm_update_profile], or [bcm_resend_welcome], update it to the current [rkfc_] name before or right after upgrading, or that content will stop rendering.
3.14.5
- Security fix: the renewal lookup (member number + last name) immediately
displayed a member’s full contact details on-screen — address, phone,
email, emergency contact — with no further verification. Since member
number and last name are both effectively public (the roster page
already shows both), this meant anyone could pull up any member’s full
details just by guessing or reading their public roster entry. The
lookup now only ever sends a one-time secure link to the email address
already on file, mirroring the same pattern already used by the Update
Profile flow; no details are shown on-screen until that emailed link is
clicked. The same neutral confirmation message is shown regardless of
whether a match was found, so this step also can’t be used to test which
member numbers exist.
3.14.3
- A second WordPress.org review round found that several identifiers
introduced by the 3.14.0 rename were still using the old, too-short bcm-
prefix rather than the plugin’s actual rkfc_ prefix — admin menu/submenu
page slugs (bcm-members, bcm-settings, etc.), several script handles and
a localized JS object name, and a stray hidden form field. All renamed to
match. This also affected each of the 5 shortcodes’ bcm_-prefixed
backward-compatibility aliases added in 3.14.0 (e.g. [bcm_roster]) — the
directory’s prefix-length requirement applies to every declared
identifier without exception for backward-compat aliases, so those have
been removed. Only the current, correctly-prefixed shortcode names
([rkfc_roster], [rkfc_join_form], [rkfc_renew_form],
[rkfc_update_profile], [rkfc_resend_welcome]) are registered as of this
version. If you have any of the old [bcm_*] shortcodes already embedded
in existing page content, they will need to be manually updated to the
current names — this affects any site still running a pre-3.14.0 install
that upgrades directly to this version.
3.14.2
- Two lingering references to “riding/activity season” (in the Help text
and the live Settings page for the In-Season Window field) still leaned
cycling-specific despite the rest of the plugin being genericized for any
club type — caught while rebuilding the admin screenshot gallery.
Shortened to just “activity season.”
3.14.1
- Minor follow-up to 3.14.0’s rename: the one-time migration’s RENAME TABLE
statement used raw string interpolation for the table names instead of
$wpdb->prepare() with a placeholder. Not a real injection risk (the
values come entirely from $wpdb->prefix plus hardcoded literals, never
user input), but there’s no reason not to use the sanctioned %i
identifier placeholder here instead, so switched to that.
3.14.0
- Renamed the plugin from “Club Member Manager” to “Rosterkeeper for Clubs”
(slug: rosterkeeper-for-clubs) following a WordPress.org review finding
that the previous name was too generic and similar to existing plugin
names in this space. The internal prefix used throughout the codebase
also changed from bcm_ to rkfc_ (4+ characters, per directory
requirements) — functions, classes, option keys, database tables, and
shortcode tags. - Existing installs upgrade transparently: a one-time migration on this
version renames the plugin’s three database tables and copies over all
stored settings from their old names to the new ones automatically, and
every shortcode ([bcm_roster], [bcm_join_form], [bcm_renew_form],
[bcm_update_profile], [bcm_resend_welcome]) keeps working under its old
name indefinitely alongside the new one, so no existing page content or
member data is affected by the rename.
3.13.4
- Fixed a real WordPress.org compliance issue flagged during review: the CSV
import previously skipped updating existing members on a duplicate member
number even though the capability to do so (RKFC_DB::update_member())
already existed and was used elsewhere in this same plugin, and the UI
marketed that as a Pro-only upgrade. This is exactly the kind of
artificially-restricted-feature pattern the directory guidelines prohibit,
even when the underlying code is already present. The free import now
genuinely creates or updates as appropriate, with no restriction. Pro’s
real remaining differentiators for this feature are CSV export, choosing
skip-vs-update behavior per import, and Merge Supplemental Data — each a
genuinely separate capability, not a hobbled version of this one. - Also fixed three inline tags flagged in the same review — moved
to a properly enqueued assets/js/bcm-admin.js, loaded only on the two
admin pages that actually use it, with translated strings passed via
wp_localize_script() instead of embedded directly in the markup.
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Rosterkeeper for Clubs alternatives
All club management plugins →FAQ
Rosterkeeper for Clubs: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 2, 2026
Is Rosterkeeper for Clubs free?
Yes. Rosterkeeper for Clubs is free to download and use from the official WordPress.org plugin directory.
Is Rosterkeeper for Clubs safe to use in 2026?
Rosterkeeper for Clubs works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
How many websites use Rosterkeeper for Clubs?
Rosterkeeper for Clubs is active on <10 WordPress websites and has been downloaded 210 times since it launched in August 2026. It was downloaded 86 times in the last 30 days.
Does Rosterkeeper for Clubs work with WordPress 7.1?
Yes. The developer has tested Rosterkeeper for Clubs up to WordPress 7.1.2, the latest release. It requires WordPress 6.2 or newer.
What PHP version does Rosterkeeper for Clubs need?
Rosterkeeper for Clubs requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Rosterkeeper for Clubs last updated?
The latest version, 3.14.5, was released on August 20, 2026 (1 month ago).
Who makes Rosterkeeper for Clubs?
Rosterkeeper for Clubs is developed and maintained by Brian Raines.
What are the best alternatives to Rosterkeeper for Clubs?
The most popular alternatives to Rosterkeeper for Clubs are WP Club Manager (600+ installs), WP Club Manager for Cricket (10+ installs) and asVereinbase (10+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card





