Fixes for previous/next page links, props Viper007Bond, fixes #8058
git-svn-id: https://develop.svn.wordpress.org/trunk@9632 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
521d3c0998
commit
6b1aec92f5
@ -1054,38 +1054,60 @@ function get_next_posts_page_link($max_page = 0) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the next posts pages link.
|
||||
* Display or return the next posts pages link.
|
||||
*
|
||||
* @since 0.71
|
||||
*
|
||||
* @param int $max_page Optional. Max pages.
|
||||
* @param boolean $echo Optional. Echo or return;
|
||||
*/
|
||||
function next_posts($max_page = 0) {
|
||||
echo clean_url(get_next_posts_page_link($max_page));
|
||||
function next_posts( $max_page = 0, $echo = true ) {
|
||||
$output = clean_url( get_next_posts_page_link( $max_page ) );
|
||||
|
||||
if ( $echo )
|
||||
echo $output;
|
||||
else
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the next posts pages link.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $label Content for link text.
|
||||
* @param int $max_page Optional. Max pages.
|
||||
* @return string|null
|
||||
*/
|
||||
function get_next_posts_link( $label = 'Next Page »', $max_page = 0 ) {
|
||||
global $paged, $wp_query;
|
||||
|
||||
if ( !$max_page ) {
|
||||
$max_page = $wp_query->max_num_pages;
|
||||
}
|
||||
|
||||
if ( !$paged )
|
||||
$paged = 1;
|
||||
|
||||
$nextpage = intval($paged) + 1;
|
||||
|
||||
if ( !is_single() && ( empty($paged) || $nextpage <= $max_page) ) {
|
||||
$attr = apply_filters( 'next_posts_link_attributes', '' );
|
||||
return '<a href="' . next_posts( $max_page, false ) . "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the next posts pages link.
|
||||
*
|
||||
* @since 0.71
|
||||
* @uses get_next_posts_link()
|
||||
*
|
||||
* @param string $label Content for link text.
|
||||
* @param int $max_page Optional. Max pages.
|
||||
*/
|
||||
function next_posts_link($label='Next Page »', $max_page=0) {
|
||||
global $paged, $wp_query;
|
||||
if ( !$max_page ) {
|
||||
$max_page = $wp_query->max_num_pages;
|
||||
}
|
||||
if ( !$paged )
|
||||
$paged = 1;
|
||||
$nextpage = intval($paged) + 1;
|
||||
if ( (! is_single()) && (empty($paged) || $nextpage <= $max_page) ) {
|
||||
echo '<a href="';
|
||||
next_posts($max_page);
|
||||
$attr = apply_filters( 'next_posts_link_attributes', '' );
|
||||
echo "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .'</a>';
|
||||
}
|
||||
function next_posts_link( $label = 'Next Page »', $max_page = 0 ) {
|
||||
echo get_next_posts_link( $label, $max_page );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1111,29 +1133,48 @@ function get_previous_posts_page_link() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Display previous posts pages link.
|
||||
* Display or return the previous posts pages link.
|
||||
*
|
||||
* @since 0.71
|
||||
*
|
||||
* @param boolean $echo Optional. Echo or return;
|
||||
*/
|
||||
function previous_posts() {
|
||||
echo clean_url(get_previous_posts_page_link());
|
||||
function previous_posts( $echo = true ) {
|
||||
$output = clean_url( get_previous_posts_page_link() );
|
||||
|
||||
if ( $echo )
|
||||
echo $output;
|
||||
else
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display previous posts page link.
|
||||
* Return the previous posts pages link.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $label Optional. Previous page link text.
|
||||
* @return string|null
|
||||
*/
|
||||
function get_previous_posts_link( $label = '« Previous Page' ) {
|
||||
global $paged;
|
||||
|
||||
if ( !is_single() && $paged > 1 ) {
|
||||
$attr = apply_filters( 'previous_posts_link_attributes', '' );
|
||||
return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/', '&$1', $label ) .'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the previous posts page link.
|
||||
*
|
||||
* @since 0.71
|
||||
* @uses get_previous_posts_link()
|
||||
*
|
||||
* @param string $label Optional. Previous page link text.
|
||||
*/
|
||||
function previous_posts_link($label='« Previous Page') {
|
||||
global $paged;
|
||||
if ( (!is_single()) && ($paged > 1) ) {
|
||||
echo '<a href="';
|
||||
previous_posts();
|
||||
$attr = apply_filters( 'previous_posts_link_attributes', '' );
|
||||
echo "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .'</a>';
|
||||
}
|
||||
function previous_posts_link( $label = '« Previous Page' ) {
|
||||
echo get_previous_posts_link( $label );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1145,7 +1186,7 @@ function previous_posts_link($label='« Previous Page') {
|
||||
* @param string $prelabel Optional. Label for previous pages.
|
||||
* @param string $nxtlabel Optional Label for next pages.
|
||||
*/
|
||||
function posts_nav_link($sep=' — ', $prelabel='« Previous Page', $nxtlabel='Next Page »') {
|
||||
function posts_nav_link( $sep = ' — ', $prelabel = '« Previous Page', $nxtlabel = 'Next Page »' ) {
|
||||
global $wp_query;
|
||||
if ( !is_singular() ) {
|
||||
$max_num_pages = $wp_query->max_num_pages;
|
||||
|
Loading…
Reference in New Issue
Block a user