WordPress.org

Make WordPress Core

Opened 14 months ago

Last modified 14 months ago

#23443 closed enhancement

Change in behaviour of 'wp_signup_location' filter since WordPress 3.5 — at Initial Version

Reported by: Cimmo Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.5.1
Component: Multisite Keywords: reporter-feedback
Focuses: 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.

  1. wp-login.php redirects to the filtered url
  2. 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:

  1. wp-login.php redirects to the filtered url
  2. 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
  3. 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

Change History (0)

Note: See TracTickets for help on using tickets.