mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-03-26 00:04:28 +00:00
Prevent non-public taxonomies from registering aquery var.
[34247] made the 'public' paramater of `register_taxonomy()` work by blocking requests for non-public taxonomy archives during `parse_request()`. Blocking taxonomy archive requests this late means that it's impossible to register an independent query var that matches the slug of a non-public taxonomy. By moving the block to `register_taxonomy()` - not allowing these taxonomies to register their query vars in the first place - we free up the slug for other use. In addition, we free up a bit of processing (no need to look for the query var in `parse_request()` and better parallel the way non-public post types work. See `register_post_type()`. Non-public taxonomy archives that are requested using `?taxonomy=tax_name` are still blocked during `parse_request`. It's only custom query vars - `?tax_name=term` - that are affected by this change. Props mboynes. Fixes #21949. git-svn-id: https://develop.svn.wordpress.org/trunk@35333 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -357,7 +357,7 @@ function _cleanup_query_vars() {
|
||||
unset( $GLOBALS[$v] );
|
||||
|
||||
foreach ( get_taxonomies( array() , 'objects' ) as $t ) {
|
||||
if ( ! empty( $t->query_var ) )
|
||||
if ( $t->public && ! empty( $t->query_var ) )
|
||||
$GLOBALS['wp']->add_query_var( $t->query_var );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user