Make WordPress Core

Ticket #7231: patch_next_and_number.diff

File patch_next_and_number.diff, 3.1 KB (added by jan831, 16 years ago)

patch to add this functionality (applies to /trunk/)

  • wp-includes/post-template.php

     
    176176
    177177        $output = '';
    178178        if ( $multipage ) {
    179                 if ( 'number' == $next_or_number ) {
    180                         $output .= $before;
     179                $output .= $before;
     180                if( 'next' == $next_or_number || 'next_and_number' == $next_or_number ) {
     181                        $i = $page - 1;
     182                        if ( $i && $more ) {
     183                                if ( 1 == $i ) {
     184                                        $output .= '<a href="' . get_permalink() . '">' . $previouspagelink . '</a>';
     185                                } else {
     186                                        if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
     187                                                $output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">' . $previouspagelink . '</a>';
     188                                        else
     189                                                $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">' . $previouspagelink . '</a>';
     190                                }
     191                        }
     192                }
     193                if ( 'number' == $next_or_number || 'next_and_number' == $next_or_number ) {
    181194                        for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
    182195                                $j = str_replace('%',"$i",$pagelink);
    183196                                $output .= ' ';
     
    195208                                if ( ($i != $page) || ((!$more) && ($page==1)) )
    196209                                        $output .= '</a>';
    197210                        }
    198                         $output .= $after;
    199                 } else {
    200                         if ( $more ) {
    201                                 $output .= $before;
    202                                 $i = $page - 1;
    203                                 if ( $i && $more ) {
    204                                         if ( 1 == $i ) {
    205                                                 $output .= '<a href="' . get_permalink() . '">' . $previouspagelink . '</a>';
    206                                         } else {
    207                                                 if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    208                                                         $output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">' . $previouspagelink . '</a>';
    209                                                 else
    210                                                         $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">' . $previouspagelink . '</a>';
    211                                         }
     211
     212                }
     213                if( 'next' == $next_or_number || 'next_and_number' == $next_or_number ) {               
     214                        $i = $page + 1;
     215                        if ( $i <= $numpages && $more ) {
     216                                if ( 1 == $i ) {
     217                                        $output .= '<a href="' . get_permalink() . '">' . $nextpagelink . '</a>';
     218                                } else {
     219                                        if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
     220                                                $output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">' . $nextpagelink . '</a>';
     221                                        else
     222                                                $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">' . $nextpagelink . '</a>';
    212223                                }
    213                                 $i = $page + 1;
    214                                 if ( $i <= $numpages && $more ) {
    215                                         if ( 1 == $i ) {
    216                                                 $output .= '<a href="' . get_permalink() . '">' . $nextpagelink . '</a>';
    217                                         } else {
    218                                                 if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    219                                                         $output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">' . $nextpagelink . '</a>';
    220                                                 else
    221                                                         $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">' . $nextpagelink . '</a>';
    222                                         }
    223                                 }
    224                                 $output .= $after;
    225224                        }
    226                 }
     225                }                                                               
     226                $output .= $after;
    227227        }
    228228
    229229        if ( $echo )