[wp-trac] [WordPress Trac] #25143: Appending registered query vars to home URL sets is_home to true when should be false
WordPress Trac
noreply at wordpress.org
Fri Apr 3 03:07:57 UTC 2015
#25143: Appending registered query vars to home URL sets is_home to true when
should be false
------------------------------------------+-----------------------------
Reporter: mordauk | Owner:
Type: defect (bug) | Status: reopened
Priority: normal | Milestone: Future Release
Component: Query | Version: 3.6
Severity: normal | Resolution:
Keywords: needs-patch needs-unit-tests | Focuses:
------------------------------------------+-----------------------------
Comment (by mordauk):
I believe I've found a way to fix this that (as far as I have found) does
not have any negative consequences.
It's a two step process.
1. First setup an array of the default query vars that WordPress registers
2. Inside of the existing `if ( $this->is_home && 'page' ==
get_option('show_on_front') && get_option('page_on_front') ) {`
conditional, we add a second conditional for when `$_query` is not empty,
meaning there is a query var on the home page, but one that WordPress core
doesn't do anything with. We then loop through the query vars in `$_query`
and check that none of them are default query vars from WordPress. If none
of them are, that means we are dealing with a query var that has been
registered by a plugin. In this case, WordPress should NOT be changing the
default behavior since it does not know what the proper behavior for that
query var is.
This patch is contingent on the idea that WordPress should more or less
ignore query vars in the query that are not directly tied to a core
behavior (front page, taxonomy, page, etc). When a plugin registers their
query var, it is their responsibility to modify the query appropriately in
order to get their results.
The biggest concern I have with this change is the possibility of plugins
breaking that have registered a query var and are then doing something
with it on the home page. As of now, they may be accustomed to getting the
blog page when their query vars are present. With this patch, they would
get the static front page (if one is configured).
I have tested the patch against several of my own plugins that register
custom query vars and it successfully fixes the problem for them, without
any break points.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/25143#comment:14>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list