Skip to main content

benecaster_bridge_supports_manual_membership

Filter Free Since v1.1.0

Gates whether the “Add subscriber manually” admin action is available for a given bridge. The ManualSubscriberController checks this filter before routing a manual-enrollment request — when it returns false, the endpoint responds with 501 bridge_unsupported and the admin UI button does not render for shows bound to that bridge.

The default value is true only for benecaster_builtin (the NativeBridge slug) and false for every other bridge slug. Bridge add-ons that implement BridgeInterface::create_manual_membership() should return true for their own slug here to unlock the feature on shows that use their bridge.

This filter is also consumed by the benecaster_bridge_supports_manual_membership() global helper (so callers do not need to know the default) and surfaced in the GET /bridge and POST /bridge/activate REST responses as supports_manual_membership.

Parameters

Name Type Default Description
$default bool Whether the bridge supports manual subscriber creation. True for benecaster_builtin; false for all other bridge slugs.
$bridge_slug string Slug of the bridge being queried (e.g. 'benecaster_builtin', 'memberpress', 'woo_subscriptions')

Returns: bool

Examples

Enable manual membership for a custom bridge add-on

add_filter( 'benecaster_bridge_supports_manual_membership', function( bool $default, string $bridge_slug ): bool {
    if ( 'acme_membership' === $bridge_slug ) {
        return true;
    }
    return $default;
}, 10, 2 );

Notes

Add-on bridges that return true here must also implement BridgeInterface::create_manual_membership() directly on their bridge class and must NOT use ManualMembershipUnsupportedTrait. The filter gate and the method implementation must stay in sync — returning true here without a working implementation will cause a BadMethodCallException at enrollment time.