WordPress.org

Make WordPress Core

Ticket #148: 148.diff

File 148.diff, 6.1 KB (added by mdawaffe, 12 years ago)

?page=0 yields all content concatenated

  • wp-includes/post-template.php

     
    5050        return apply_filters('get_the_guid', $post->guid);
    5151}
    5252
    53 function the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
    54         $content = get_the_content($more_link_text, $stripteaser, $more_file);
    55         $content = apply_filters('the_content', $content);
     53function the_content( $more_link_text = '(more...)', $stripteaser = 0 ) {
     54        $content = get_the_content( $more_link_text, $stripteaser );
     55        $content = apply_filters( 'the_content', $content );
    5656        $content = str_replace(']]>', ']]>', $content);
    5757        echo $content;
    5858}
    5959
    60 
    61 function get_the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
     60function get_the_content( $more_link_text = '(more...)', $stripteaser = 0 ) {
    6261        global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages;
    6362        global $preview;
    6463        global $pagenow;
     
    7170                }
    7271        }
    7372
    74         if ( $more_file != '' )
    75                 $file = $more_file;
    76         else
    77                 $file = $pagenow; //$_SERVER['PHP_SELF'];
    78 
    7973        if ( $page > count($pages) ) // if the requested page doesn't exist
    8074                $page = count($pages); // give them the highest numbered page that DOES exist
    8175
    82         $content = $pages[$page-1];
     76        $content = $pages[$page ? $page - 1 : 0];
    8377        if ( preg_match('/<!--more(.+?)?-->/', $content, $matches) ) {
    8478                $content = explode($matches[0], $content, 2);
    8579                if ( !empty($matches[1]) )
     
    135129        if ( !isset($r['next_or_number']) )
    136130                $r['next_or_number'] = 'number';
    137131        if ( !isset($r['nextpagelink']) )
    138                 $r['nextpagelink'] = 'Next page';
     132                $r['nextpagelink'] = __('Next page');
    139133        if ( !isset($r['previouspagelink']) )
    140                 $r['previouspagelink'] = 'Previous page';
     134                $r['previouspagelink'] = __('Previous page');
    141135        if ( !isset($r['pagelink']) )
    142136                $r['pagelink'] = '%';
    143137        if ( !isset($r['more_file']) )
    144138                $r['more_file'] = '';
     139        if ( !isset($r['all_page_link']) )
     140                $r['all_page_link'] = '';
    145141
    146         link_pages($r['before'], $r['after'], $r['next_or_number'], $r['nextpagelink'], $r['previouspagelink'], $r['pagelink'], $r['more_file']);
     142        link_pages($r['before'], $r['after'], $r['next_or_number'], $r['nextpagelink'], $r['previouspagelink'], $r['pagelink'], $r['more_file'], $r['all_page_link']);
    147143}
    148144
    149145
    150 function link_pages($before='<br />', $after='<br />', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page', $pagelink='%', $more_file='') {
     146function link_pages($before='<br />', $after='<br />', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page', $pagelink='%', $more_file='', $all_page_link='') {
    151147        global $id, $page, $numpages, $multipage, $more, $pagenow;
    152         if ( $more_file != '' )
    153                 $file = $more_file;
    154         else
    155                 $file = $pagenow;
    156148        if ( $multipage ) {
    157149                if ( 'number' == $next_or_number ) {
    158150                        echo $before;
    159151                        for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
    160152                                $j = str_replace('%',"$i",$pagelink);
    161153                                echo ' ';
    162                                 if ( ($i != $page) || ((!$more) && ($page==1)) ) {
     154                                if ( $i != $page || ( !$more && 1 == $page ) ) {
    163155                                        if ( '' == get_settings('permalink_structure') )
    164156                                                echo '<a href="' . get_permalink() . '&amp;page=' . $i . '">';
    165157                                        else
    166158                                                echo '<a href="' . trailingslashit( get_permalink() ) . $i . '/">';
    167159                                }
    168160                                echo $j;
    169                                 if ( ($i != $page) || ((!$more) && ($page==1)) )
     161                                if ( $i != $page || ( !$more && 1 == $page ) )
    170162                                        echo '</a>';
    171163                        }
    172                         echo $after;
    173                 } else {
    174                         if ( $more ) {
    175                                 echo $before;
    176                                 $i = $page - 1;
    177                                 if ( $i && $more ) {
     164                        if ( '' != $all_page_link ) {
     165                                echo ' ';
     166                                if ( 0 != $page ) {
    178167                                        if ( '' == get_settings('permalink_structure') )
    179                                                 echo '<a href="' . get_permalink() . '&amp;page=' . $i . '">'.$previouspagelink.'</a>';
     168                                                echo '<a href="' . get_permalink() . '&amp;page=' . 0 . '">';
    180169                                        else
    181                                                 echo '<a href="' . get_permalink() . $i . '/">'.$previouspagelink.'</a>';
     170                                                echo '<a href="' . trailingslashit( get_permalink() ) . 0 . '/">';
    182171                                }
    183                                 $i = $page + 1;
    184                                 if ( $i <= $numpages && $more ) {
     172                                echo $all_page_link;
     173                                if ( 0 != $page )
     174                                        echo '</a>';
     175                        }
     176                        echo $after;
     177                } else if ( $more ) {
     178                        echo $before;
     179                        $i = $page - 1;
     180                        if ( $i > 0 ) {
     181                                if ( '' == get_settings('permalink_structure') )
     182                                        echo '<a href="' . get_permalink() . '&amp;page=' . $i . '">'.$previouspagelink.'</a>';
     183                                else
     184                                        echo '<a href="' . get_permalink() . $i . '/">'.$previouspagelink.'</a>';
     185                        }
     186                        $i = $page + 1;
     187                        if ( $i <= $numpages ) {
     188                                if ( '' == get_settings('permalink_structure') )
     189                                        echo '<a href="'.get_permalink() . '&amp;page=' . $i . '">'.$nextpagelink.'</a>';
     190                                else
     191                                        echo '<a href="'.get_permalink().$i.'/">'.$nextpagelink.'</a>';
     192                        }
     193                        if ( '' != $all_page_link ) {
     194                                echo ' ';
     195                                if ( 0 != $page ) {
    185196                                        if ( '' == get_settings('permalink_structure') )
    186                                                 echo '<a href="'.get_permalink() . '&amp;page=' . $i . '">'.$nextpagelink.'</a>';
     197                                                echo '<a href="' . get_permalink() . '&amp;page=' . 0 . '">';
    187198                                        else
    188                                                 echo '<a href="'.get_permalink().$i.'/">'.$nextpagelink.'</a>';
     199                                                echo '<a href="' . trailingslashit( get_permalink() ) . 0 . '/">';
    189200                                }
    190                                 echo $after;
     201                                echo $all_page_link;
     202                                if ( 0 != $page )
     203                                        echo '</a>';
    191204                        }
     205                        echo $after;
    192206                }
    193207        }
    194208}
  • wp-includes/query.php

     
    10981098        $currentmonth = mysql2date('m', $post->post_date);
    10991099        $numpages = 1;
    11001100        $page = get_query_var('page');
    1101         if ( !$page )
     1101        if ( !$page && 0 !== $page )
    11021102                $page = 1;
    11031103        if ( is_single() || is_page() )
    11041104                $more = 1;
     
    11121112                $content = str_replace("<!--nextpage-->\n", '<!--nextpage-->', $content);
    11131113                $pages = explode('<!--nextpage-->', $content);
    11141114                $numpages = count($pages);
     1115                if ( !$page )
     1116                        $pages = array(join('', $pages));
    11151117        } else {
    11161118                $pages[0] = $post->post_content;
    11171119                $multipage = 0;