WordPress plugin intelligence profile

WP-PageNavi

Adds a more advanced paging navigation interface.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version3.0.1
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.8 · PHP 8.2
Directory statusactive
Last directory update28 Aug 20262mo ago
Active installations400K+Adoption metric — not a quality score
WordPress.org rating4.7 / 5 from 149 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records WP-PageNavi version 3.0.1 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Want to replace the old ← Older posts | Newer posts → links with some page links?

This plugin provides the wp_pagenavi() template tag which generates fancy pagination links.

x line was the work of scribu, whose write-ups on using it with secondary queries are still the ones the FAQ below points at. The plugin icon is by SimpleIcon from Flaticon.

Donations

I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.

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>

You would replace those two lines with this:

>

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

php wp_link_pages(... >

and replace it with this:

>

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

Changing the CSS

css and make your modifications there. This way, you won’t lose your changes when you update the plugin.

The stylesheet sets no font and no text colour, so it inherits both from your theme, and its two border colours are CSS custom properties. A small change needs no copy of the file at all:

wp-pagenavi { --wp-pagenavi-border-color: #d0d0d0; --wp-pagenavi-border-color-current: rebeccapurple; }

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

// 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; }

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • page links
  • navigation
  • pages
  • pagination
  • paging
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.8 · PHP 8.2
Update activity28 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.