Skip to main content

benecaster_signup_url

Filter Premium

Filters where this show’s subscribe page is. Two places ask: the Free Plan section of the account page, when it sends a built-in-membership member on the free plan to take out a paid one, and benecaster_qr_code type=“signup”, for a code printed on a public page. Answering once keeps a printed code and the in-app upgrade link on the same page. The default is the show’s own page, which is where [benecaster_subscribe] normally lives; point it at whichever page carries your subscription form if that is not the show page.

To read the answer from your own code, call benecaster_get_signup_url() rather than applying this filter yourself. It applies the filter with the right arguments and falls back to the show’s page.

$user_id is 0 when no member is in context, which is always the case for a QR code. Treat 0 as “no particular member”: a callback that assumes a real ID will either fail or personalise a URL that strangers are about to scan. When you have no answer, return the $url you were given; an empty or unusable return also falls back to the show’s page. A signup_url attribute on one QR code overrides this filter for that code.

Moving from free to paid is immediate and charged today. A free member has no card on file, so there is nothing to schedule: they take out a paid plan through the ordinary signup form, which collects the card, handles 3-D Secure and grants any free buy-ups the plan includes. Their feed URL stays the same. Do not point this at a page that cannot take a payment.

It runs only for a subscription with no Stripe billing behind it. A paying subscriber gets the plan options instead, which take effect at their renewal. A member you gave a complimentary membership also has no Stripe billing, but the signup form refuses them because they already have a subscription; change their plan for them.

Parameters

Name Type Default Description
$url string — The show's permalink by default
$show_id int — ID of the show
$user_id int — The member viewing their account page, or 0 when no member is in context (a public QR code)

Returns: string

Examples

Send free members to a dedicated pricing page

add_filter( 'benecaster_signup_url', function( $url, $show_id, $user_id ) {
    $page = get_page_by_path( 'join' );
    return $page ? get_permalink( $page ) : $url;
}, 10, 3 );

Affects

Need this built rather than just documented? See our services →