Opened 3 months ago
Last modified 3 months ago
#23443 closed enhancement
Change in behaviour of 'wp_signup_location' filter since WordPress 3.5 — at Initial Version
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Multisite | Version: | 3.5.1 |
| Severity: | normal | Keywords: | reporter-feedback |
| Cc: |
Description
NOTE: This is a detailed ticket that goes deep into WordPress 3.4 vs 3.5 changes, I spent 1 hour to understand why the issue happens, so please do not close it right away as you usually do.
Plug-in's author epic:
My plug-in used to attach to the filter 'wp_signup_location' to add a parameter like '?blog_id=7', this to remember where the user clicked 'Register' from.
In example from:
http://localhost/wordpress-ms34/wp-signup.php
to:
http://localhost/wordpress-ms34/wp-signup.php?blog_id=7
Behaviour in WordPress 3.4 MS and earlier:
My plug-in successfully modified the signup location adding the parameter needed.
- wp-login.php redirects to the filtered url
- wp-signup.php checks if it !is_main_site(), but till 3.4 not passing any parameter to is_main_site was basically always returning true, and !true always false.
Behaviour in WordPress 3.5 MS and later:
- wp-login.php redirects to the filtered url
- wp-signup.php checks if it !is_main_site(), this returns true (it is not) and then passes and then redirect once more using network_site_url
- network_site_url seems removing any parameter added, jeopardizing my filter added earlier.
The exact patch that changed this (correctly probably) is this one:
http://core.trac.wordpress.org/attachment/ticket/22090/22090.diff
My question is: now, how can have my added parameter not filtered out?
thank you
Marco
