WordPress.org

Make WordPress Core

Ticket #16973: 16973.diff

File 16973.diff, 3.0 KB (added by scribu, 4 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.