WordPress.org

Make WordPress Core

Ticket #21970: 21970.3.diff

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

     
    211211 
    212212                                                if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) { 
    213213                                                        // this is a verbose page match, lets check to be sure about it 
    214                                                         if ( ! get_page_by_path( $matches[ $varmatch[1] ] ) ) 
    215                                                                 continue; 
     214                                                        $page = get_page_by_path( $matches[ $varmatch[1] ] ); 
     215                                                        if ( ! $page ) 
     216                                                                continue; 
     217 
     218                                                        $post_status_obj = get_post_status_object( $page->post_status ); 
     219                                                        if ( ! $post_status_obj->public && ! $post_status_obj->protected && ! $post_status_obj->private ) ) 
     220                                                                continue; 
    216221                                                } 
    217222 
    218223                                                // 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.