WordPress.org

Make WordPress Core

Ticket #11694: 11694.diff

File 11694.diff, 803 bytes (added by dd32, 4 years ago)
  • wp-includes/classes.php

     
    484484                        $wp_query->set_404(); 
    485485                        status_header( 404 ); 
    486486                        nocache_headers(); 
     487                } elseif ( is_singular() && get_query_var('page') > 1 ) { 
     488                        $pages = substr_count( $wp_query->posts[0]->post_content, '<!--nextpage-->' ) + 1; 
     489                        if ( get_query_var('page') > $pages ) { 
     490                                $wp_query->set_404(); 
     491                                status_header( 404 ); 
     492                                nocache_headers(); 
     493                                // Disable Canonical redirects, as it'll guess the permalink for 404's. 
     494                                remove_action('template_redirect', 'redirect_canonical'); 
     495                        } else { 
     496                                status_header( 200 ); 
     497                        } 
    487498                } elseif ( !is_404() ) { 
    488499                        status_header( 200 ); 
    489500                }