WordPress.org

Make WordPress Core

Ticket #21970: 21970.2.diff

File 21970.2.diff, 1.6 KB (added by SergeyBiryukov, 6 years 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.