WordPress.org

Make WordPress Core

Ticket #16973: 16973.diff

File 16973.diff, 3.0 KB (added by scribu, 7 years ago)
  • wp-includes/post-template.php

     
    640640                                $j = str_replace('%',$i,$pagelink);
    641641                                $output .= ' ';
    642642                                if ( ($i != $page) || ((!$more) && ($page==1)) ) {
    643                                         $output .= _wp_link_page($i);
     643                                        $output .= '<a href="' . esc_url( get_multipage_link( $i ) ) . '">';
    644644                                }
    645645                                $output .= $link_before . $j . $link_after;
    646646                                if ( ($i != $page) || ((!$more) && ($page==1)) )
     
    652652                                $output .= $before;
    653653                                $i = $page - 1;
    654654                                if ( $i && $more ) {
    655                                         $output .= _wp_link_page($i);
     655                                        $output .= '<a href="' . esc_url( get_multipage_link( $i ) ) . '">';
    656656                                        $output .= $link_before. $previouspagelink . $link_after . '</a>';
    657657                                }
    658658                                $i = $page + 1;
    659659                                if ( $i <= $numpages && $more ) {
    660                                         $output .= _wp_link_page($i);
     660                                        $output .= '<a href="' . esc_url( get_multipage_link( $i ) ) . '">';
    661661                                        $output .= $link_before. $nextpagelink . $link_after . '</a>';
    662662                                }
    663663                                $output .= $after;
     
    671671        return $output;
    672672}
    673673
    674 /**
    675  * Helper function for wp_link_pages().
    676  *
    677  * @since 3.1.0
    678  * @access private
    679  *
    680  * @param int $i Page number.
    681  * @return string Link.
    682  */
    683 function _wp_link_page( $i ) {
    684         global $post, $wp_rewrite;
    685 
    686         if ( 1 == $i ) {
    687                 $url = get_permalink();
    688         } else {
    689                 if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
    690                         $url = add_query_arg( 'page', $i, get_permalink() );
    691                 elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
    692                         $url = trailingslashit(get_permalink()) . user_trailingslashit("$wp_rewrite->pagination_base/" . $i, 'single_paged');
    693                 else
    694                         $url = trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged');
    695         }
    696 
    697         return '<a href="' . esc_url( $url ) . '">';
    698 }
    699 
    700674//
    701675// Post-meta: Custom per-post fields.
    702676//
  • wp-includes/link-template.php

     
    15321532}
    15331533
    15341534/**
     1535 * Retrieve link to a multipage part.
     1536 *
     1537 * @since 3.2.0
     1538 *
     1539 * @param int $page Optional.
     1540 * @return string
     1541 */
     1542function get_multipage_link( $page = 1 ) {
     1543        global $post, $wp_rewrite;
     1544
     1545        if ( 1 == $page ) {
     1546                $url = get_permalink();
     1547        } else {
     1548                if ( '' == get_option('permalink_structure') || in_array( $post->post_status, array( 'draft', 'pending') ) )
     1549                        $url = add_query_arg( 'page', $page, get_permalink() );
     1550                elseif ( 'page' == get_option( 'show_on_front' ) && get_option('page_on_front') == $post->ID )
     1551                        $url = trailingslashit( get_permalink() ) . user_trailingslashit( $wp_rewrite->pagination_base . "/$page", 'single_paged' );
     1552                else
     1553                        $url = trailingslashit( get_permalink() ) . user_trailingslashit( $page, 'single_paged' );
     1554        }
     1555
     1556        return $url;
     1557}
     1558
     1559/**
    15351560 * Retrieve next posts pages link.
    15361561 *
    15371562 * Backported from 2.1.3 to 2.0.10.