Title

Sunday, 18 January 2015

WordPress - Add Numeric Pagination.


I am using the Numeric Post Navigation code in my wordpress theme. I have set Blog page show at most as 3 for 24 posts. So that the page navigation displays 8 pages. eg: 1 2 3 ... 8. But actually the page navigation shows me 1 2 3 ? 8. Now my question what is the error in the below code. Why its showing ? instead of dot. Please any one help me.

My code is,

function wpbeginner_numeric_posts_nav() {     if( is_singular() )   return;     global $wp_query;     /** Stop execution if there's only 1 page */   if( $wp_query->max_num_pages <= 1 )   return;     $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;   $max = intval( $wp_query->max_num_pages );     /** Add current page to the array */   if ( $paged >= 1 )   $links[] = $paged;     /** Add the pages around the current page to the array */   if ( $paged >= 3 ) {   $links[] = $paged - 1;   $links[] = $paged - 2;   }     if ( ( $paged + 2 ) <= $max ) {   $links[] = $paged + 2;   $links[] = $paged + 1;   }     echo '<div class="navigation"><ul>' . "\n";     /** Previous Post Link */   if ( get_previous_posts_link() )   printf( '<li>%s</li>' . "\n", get_previous_posts_link() );     /** Link to first page, plus ellipses if necessary */   if ( ! in_array( 1, $links ) ) {   $class = 1 == $paged ? ' class="active"' : '';     printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );     if ( ! in_array( 2, $links ) )   echo '<li>…</li>';   }     /** Link to current page, plus 2 pages in either direction if necessary */   sort( $links );   foreach ( (array) $links as $link ) {   $class = $paged == $link ? ' class="active"' : '';   printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );   }     /** Link to last page, plus ellipses if necessary */   if ( ! in_array( $max, $links ) ) {   if ( ! in_array( $max - 1, $links ) )   echo '<li>…</li>' . "\n";     $class = $paged == $max ? ' class="active"' : '';   printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );   }     /** Next Post Link */   if ( get_next_posts_link() )   printf( '<li>%s</li>' . "\n", get_next_posts_link() );     echo '</ul></div>' . "\n";    }

Page Navigation in front end

<?php wpbeginner_numeric_posts_nav(); ?>
Answer

No comments:

Post a Comment