WordPress.org

Make WordPress Core


Ignore:
Timestamp:
09/07/2010 01:18:42 AM (9 years ago)
Author:
scribu
Message:

Don't hardcode the pagination base. Fixes #12507

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/post-template.php

    r15549 r15582  
    576576    extract( $r, EXTR_SKIP );
    577577
    578     global $post, $page, $numpages, $multipage, $more, $pagenow;
     578    global $page, $numpages, $multipage, $more, $pagenow;
    579579
    580580    $output = '';
     
    586586                $output .= ' ';
    587587                if ( ($i != $page) || ((!$more) && ($page==1)) ) {
    588                     if ( 1 == $i ) {
    589                         $output .= '<a href="' . get_permalink() . '">';
    590                     } else {
    591                         if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    592                             $output .= '<a href="' . add_query_arg('page', $i, get_permalink()) . '">';
    593                         elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
    594                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit('page/' . $i, 'single_paged'). '">';
    595                         else
    596                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">';
    597                     }
    598 
     588                    $output .= _wp_link_page($i);
    599589                }
    600                 $output .= $link_before;
    601                 $output .= $j;
    602                 $output .= $link_after;
     590                $output .= $link_before . $j . $link_after;
    603591                if ( ($i != $page) || ((!$more) && ($page==1)) )
    604592                    $output .= '</a>';
     
    610598                $i = $page - 1;
    611599                if ( $i && $more ) {
    612                     if ( 1 == $i ) {
    613                         $output .= '<a href="' . get_permalink() . '">';
    614                     } else {
    615                         if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    616                             $output .= '<a href="' . add_query_arg('page', $i, get_permalink()) . '">';
    617                         elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
    618                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit('page/' . $i, 'single_paged'). '">';
    619                         else
    620                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">';
    621                     }
     600                    $output .= _wp_link_page($i);
    622601                    $output .= $link_before. $previouspagelink . $link_after . '</a>';
    623602                }
    624603                $i = $page + 1;
    625604                if ( $i <= $numpages && $more ) {
    626                     if ( 1 == $i ) {
    627                         $output .= '<a href="' . get_permalink() . '">';
    628                     } else {
    629                         if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    630                             $output .= '<a href="' . add_query_arg('page', $i, get_permalink()) . '">';
    631                         elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
    632                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit('page/' . $i, 'single_paged'). '">';
    633                         else
    634                             $output .= '<a href="' . trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged') . '">';
    635                     }
     605                    $output .= _wp_link_page($i);
    636606                    $output .= $link_before. $nextpagelink . $link_after . '</a>';
    637607                }
     
    647617}
    648618
     619function _wp_link_page( $i ) {
     620    global $post, $wp_rewrite;
     621
     622    if ( 1 == $i ) {
     623        $url .= get_permalink();
     624    } else {
     625        if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
     626            $url = add_query_arg( 'page', $i, get_permalink() );
     627        elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
     628            $url = trailingslashit(get_permalink()) . user_trailingslashit("$wp_rewrite->pagination_base/" . $i, 'single_paged');
     629        else
     630            $url .= trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged');
     631    }
     632
     633    return '<a href="' . $url  . '">';
     634}
    649635
    650636//
Note: See TracChangeset for help on using the changeset viewer.