benecaster_signup_url
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
- The Free Plan section of the subscriber account page
- benecaster_qr_code type="signup"
Need this built rather than just documented? See our services →