WordPress.org

Make WordPress Core

Ticket #7927: 7927.patch

File 7927.patch, 1.9 KB (added by Viper007Bond, 10 years ago)
  • wp-includes/comment-template.php

     
    762762                $comments_by_type = &$wp_query->comments_by_type;
    763763        }
    764764
     765        // Set the default comments page to the last page (this isn't perfect)
     766        if ( '' == get_query_var('cpage') && get_option('page_comments') ) {
     767                if ( get_option('thread_comments') ) {
     768                        $walker = new Walker_Comment;
     769                        $lastpage = floor( $walker->get_number_of_root_elements( $wp_query->comments ) / get_query_var('comments_per_page') );
     770                } else {
     771                        $lastpage = floor( count( $wp_query->comments ) / get_query_var('comments_per_page') );
     772                }
     773
     774                set_query_var('cpage', $lastpage);
     775        }
     776
    765777        define('COMMENTS_TEMPLATE', true);
    766778
    767779        $include = apply_filters('comments_template', STYLESHEETPATH . $file );
  • wp-includes/link-template.php

     
    11741174        }
    11751175}
    11761176
    1177 function get_comments_pagenum_link($pagenum = 1) {
     1177function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
    11781178        global $wp_rewrite;
    11791179
    11801180        $pagenum = (int) $pagenum;
     
    11901190
    11911191        $base = trailingslashit( get_bloginfo( 'home' ) );
    11921192
    1193         if ( $pagenum > 1 ) {
     1193        if ( $pagenum != $max_page ) {
    11941194                $result = add_query_arg( 'cpage', $pagenum, $base . $request );
    11951195        } else {
    11961196                $result = $base . $request;
     
    12251225        if ( empty($label) )
    12261226                $label = __('» Newer Comments');
    12271227
    1228         echo '<a href="' . clean_url(get_comments_pagenum_link($nextpage));
     1228        echo '<a href="' . clean_url( get_comments_pagenum_link( $nextpage, $max_page ) );
    12291229        $attr = apply_filters( 'next_comments_link_attributes', '' );
    12301230        echo "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
    12311231}