WordPress.org

Make WordPress Core

Ticket #21970: 21970.2.diff

File 21970.2.diff, 1.6 KB (added by SergeyBiryukov, 18 months ago)
  • wp-includes/class-wp.php

     
    206206 
    207207                                                if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) { 
    208208                                                        // this is a verbose page match, lets check to be sure about it 
    209                                                         if ( ! get_page_by_path( $matches[ $varmatch[1] ] ) ) 
    210                                                                 continue; 
     209                                                        $page = get_page_by_path( $matches[ $varmatch[1] ] ); 
     210                                                        if ( ! $page ) 
     211                                                                continue; 
     212 
     213                                                        $post_status_obj = get_post_status_object( $page->post_status ); 
     214                                                        if ( ! ( $post_status_obj->public || $post_status_obj->protected || $post_status_obj->private ) ) 
     215                                                                continue; 
    211216                                                } 
    212217 
    213218                                                // Got a match. 
  • wp-includes/rewrite.php

     
    345345 
    346346                        if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) { 
    347347                                // this is a verbose page match, lets check to be sure about it 
    348                                 if ( ! get_page_by_path( $matches[ $varmatch[1] ] ) ) 
     348                                $page = get_page_by_path( $matches[ $varmatch[1] ] ); 
     349                                if ( ! $page ) 
    349350                                        continue; 
     351 
     352                                $post_status_obj = get_post_status_object( $page->post_status ); 
     353                                if ( ! ( $post_status_obj->public || $post_status_obj->protected || $post_status_obj->private ) ) 
     354                                        continue; 
    350355                        } 
    351356 
    352357                        // Got a match.