Changeset 49200
- Timestamp:
- 10/18/2020 11:21:03 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/canonical.php
r48872 r49200 896 896 // If any of post_type, year, monthnum, or day are set, use them to refine the query. 897 897 if ( get_query_var( 'post_type' ) ) { 898 $where .= $wpdb->prepare( ' AND post_type = %s', get_query_var( 'post_type' ) ); 898 if ( is_array( get_query_var( 'post_type' ) ) ) { 899 // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare 900 $where .= " AND post_type IN ('" . join( "', '", esc_sql( get_query_var( 'post_type' ) ) ) . "')"; 901 } else { 902 $where .= $wpdb->prepare( ' AND post_type = %s', get_query_var( 'post_type' ) ); 903 } 899 904 } else { 900 905 $where .= " AND post_type IN ('" . implode( "', '", get_post_types( array( 'public' => true ) ) ) . "')"; -
trunk/tests/phpunit/tests/canonical.php
r48937 r49200 277 277 278 278 /** 279 * Ensure multiple post types do not throw a notice. 280 * 281 * @ticket 43056 282 */ 283 public function test_redirect_guess_404_permalink_post_types() { 284 /* 285 * Sample-page is intentionally missspelt as sample-pag to ensure 286 * the 404 post permalink guessing runs. 287 * 288 * Please do not correct the apparent typo. 289 */ 290 291 // String format post type. 292 $this->assertCanonical( '/?name=sample-pag&post_type=page', '/sample-page/' ); 293 // Array formatted post type or types. 294 $this->assertCanonical( '/?name=sample-pag&post_type[]=page', '/sample-page/' ); 295 $this->assertCanonical( '/?name=sample-pag&post_type[]=page&post_type[]=post', '/sample-page/' ); 296 } 297 298 /** 279 299 * @ticket 43745 280 300 */
Note: See TracChangeset
for help on using the changeset viewer.