WordPress.org

Plugin Directory

WP-PageNavi

Adds a more advanced paging navigation interface.

You can either install it automatically from the WordPress admin, or do it manually:

  1. Unzip the archive and put the wp-pagenavi folder into your plugins folder (/wp-content/plugins/).
  2. Activate the plugin from the Plugins menu.

Usage

In your theme, you need to find calls to next_posts_link() and previous_posts_link() and replace them.

In the Twentyten theme, it looks like this:

<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>

You would replace those two lines with this:

<?php wp_pagenavi(); ?>

For multipart pages, you would look for code like this:

<?php wp_link_pages( ... ); ?>

and replace it with this:

<?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>

Go to WP-Admin -> Settings -> PageNavi for configuration.

Changing the CSS

If you need to configure the CSS style of WP-PageNavi, you can copy the pagenavi-css.css file from the plugin directory to your theme's directory and make your modifications there. This way, you won't lose your changes when you update the plugin.

Alternatively, you can uncheck the "Use pagenavi.css?" option from the settings page and add the styles to your theme's style.css file directly.

Changing Class Names

There are filters that can be used to change the default class names that are assigned to page navigation elements.

Filters

  • wp_pagenavi_class_pages
  • wp_pagenavi_class_first
  • wp_pagenavi_class_previouspostslink
  • wp_pagenavi_class_extend
  • wp_pagenavi_class_smaller
  • wp_pagenavi_class_page
  • wp_pagenavi_class_current
  • wp_pagenavi_class_larger
  • wp_pagenavi_class_nextpostslink
  • wp_pagenavi_class_last

Filter Usage

`php // Simple Usage - 1 callback per filter add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class'); add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class'); add_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');

function theme_pagination_previouspostslink_class($class_name) { return 'pagination__control-link pagination__control-link--previous'; }

function theme_pagination_nextpostslink_class($class_name) { return 'pagination__control-link pagination__control-link--next'; }

function theme_pagination_page_class($class_name) { return 'pagination__current-page'; }

// More Concise Usage - 1 callback for all filters add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class'); add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class'); add_filter('wp_pagenavi_class_page', 'theme_pagination_class');

function theme_pagination_class($class_name) { switch($class_name) { case 'previouspostslink': $class_name = 'pagination__control-link pagination__control-link--previous'; break; case 'nextpostslink': $class_name = 'pagination__control-link pagination__control-link--next'; break; case 'page': $class_name = 'pagination__current' break; } return $class_name; }

`

Requires: 3.2 or higher
Compatible up to: 4.3
Last Updated: 2015-8-13
Active Installs: 1+ million

Ratings

4.7 out of 5 stars

Support

15 of 19 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,1,1
100,1,1 92,13,12
100,1,1 0,1,0 100,6,6 100,1,1 0,2,0 50,2,1 100,1,1
100,1,1 100,13,13 33,3,1 0,1,0
95,19,18 8,12,1 96,27,26 100,1,1 60,5,3 33,3,1
100,2,2 96,26,25 33,33,11 50,6,3 73,59,43 67,3,2
100,2,2 61,56,34 67,3,2
100,1,1 69,13,9 79,77,61
50,4,2
53,15,8
67,12,8 100,4,4
100,1,1 100,1,1 67,3,2 90,10,9
78,9,7 77,56,43
100,14,14
84,19,16
60,20,12 0,1,0
67,3,2
75,20,15
65,74,48 57,7,4 85,27,23 100,2,2
67,18,12 100,1,1
0,1,0 100,1,1 91,11,10 88,48,42
81,27,22
80,10,8 100,1,1
100,1,1 88,26,23 88,8,7
100,1,1 97,32,31
79,28,22
95,43,41
100,3,3
83,12,10
89,9,8
50,2,1
58,12,7
100,1,1 88,8,7 100,6,6 100,3,3
50,12,6
0,1,0
100,2,2
50,2,1
89,9,8
100,3,3
100,1,1 100,6,6
100,3,3
75,4,3
100,10,10
67,3,2
100,1,1
100,1,1