Changeset 34247
- Timestamp:
- 09/16/2015 07:04:57 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp.php
r34215 r34247 300 300 if ( $t->query_var && isset( $this->query_vars[$t->query_var] ) ) 301 301 $this->query_vars[$t->query_var] = str_replace( ' ', '+', $this->query_vars[$t->query_var] ); 302 303 // Don't allow non-public taxonomies to be queried from the front-end. 304 if ( ! is_admin() ) { 305 foreach ( get_taxonomies( array( 'public' => false ), 'objects' ) as $taxonomy => $t ) { 306 // Check first for taxonomy-specific query_var. 307 if ( $t->query_var && isset( $this->query_vars[ $t->query_var ] ) ) { 308 unset( $this->query_vars[ $t->query_var ] ); 309 } 310 311 // Next, check the 'taxonomy' query_var. 312 if ( isset( $this->query_vars['taxonomy'] ) && $taxonomy === $this->query_vars['taxonomy'] ) { 313 unset( $this->query_vars['taxonomy'], $this->query_vars['term'] ); 314 } 315 } 316 } 302 317 303 318 // Limit publicly queried post_types to those that are publicly_queryable -
trunk/src/wp-includes/taxonomy-functions.php
r34246 r34247 279 279 * * You can see accepted values in {@link get_taxonomy_labels()}. 280 280 * - description - A short descriptive summary of what the taxonomy is for. Defaults to blank. 281 * - public - If the taxonomy should be publicly queryable ; //@TODO not implemented.281 * - public - If the taxonomy should be publicly queryable. 282 282 * * Defaults to true. 283 283 * - hierarchical - Whether the taxonomy is hierarchical (e.g. category). Defaults to false. -
trunk/tests/phpunit/tests/taxonomy.php
r33182 r34247 443 443 _unregister_post_type( 'wptests_pt' ); 444 444 } 445 446 /** 447 * @ticket 21949 448 */ 449 public function test_nonpublic_taxonomy_should_not_be_queryable_using_taxname_query_var() { 450 register_taxonomy( 'wptests_tax', 'post', array( 451 'public' => false, 452 ) ); 453 454 $t = $this->factory->term->create_and_get( array( 455 'taxonomy' => 'wptests_tax', 456 ) ); 457 458 $p = $this->factory->post->create(); 459 wp_set_object_terms( $p, $t->slug, 'wptests_tax' ); 460 461 $this->go_to( '/?wptests_tax=' . $t->slug ); 462 463 $this->assertFalse( is_tax( 'wptests_tax' ) ); 464 } 465 466 /** 467 * @ticket 21949 468 */ 469 public function test_nonpublic_taxonomy_should_not_be_queryable_using_taxonomy_and_term_vars() { 470 register_taxonomy( 'wptests_tax', 'post', array( 471 'public' => false, 472 ) ); 473 474 $t = $this->factory->term->create_and_get( array( 475 'taxonomy' => 'wptests_tax', 476 ) ); 477 478 $p = $this->factory->post->create(); 479 wp_set_object_terms( $p, $t->slug, 'wptests_tax' ); 480 481 $this->go_to( '/?taxonomy=wptests_tax&term=' . $t->slug ); 482 483 $this->assertFalse( is_tax( 'wptests_tax' ) ); 484 } 445 485 }
Note: See TracChangeset
for help on using the changeset viewer.