benecaster_get_subscriber_count()
benecaster_get_subscriber_count( int $show_id ): int
Returns how many active tokens a show has issued. It is an audience size, not a paying-subscriber count, and the two numbers are routinely different — often by a wide margin on a show with a large free following.
The name reads like a billing figure and is not one. It counts every active row for the show: paying subscribers, free-tier bridge members, and direct followers alike. Using it as a paying count over-reports, and does so silently.
It does not affect licensing, plan limits, or billing, and nothing in core reads it. ⚠ In particular it does NOT affect licence tier upgrade thresholds. The plan limit, the threshold notices, and the daily licence-server report are all decided from a separate paying-only count taken straight from the database, on a code path that never calls this function.
Parameters
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
show_id |
int |
— | Yes | WordPress post ID of the show. |
Return Value
Type:
int
The number of active tokens for the show — zero when none exist. Followers and free-tier bridge members are included.
Example
$audience = benecaster_get_subscriber_count( get_the_ID() );
printf( 'Joined by %d listeners', $audience );
Hooks Fired
Notes
For a paying count, use benecaster_count_paying_subscribers() — or benecaster_count_paying_subscribers_site_wide() across every show. Those two answer the money question; this one answers the audience question, and the two disagreeing is the correct outcome rather than a bug.
Do not query the tables directly — the storage layout is internal and changes between releases without notice.
See Which subscriber count is the paying one for what the distinction costs in practice, and benecaster_analytics_subscriber_count for adjusting what this function returns.
Need this built rather than just documented? See our services →