WP-PageNavi
Adds a more advanced paging navigation interface.
The facts
- Rating
- 4.7★ from 149
- Active installs
- 500k+
- Price
- Free
- Last updated
- 28 Aug 2026
- Added
- Jan 2006
- Requires WP
- 6.8
- Tested up to
- WP 7.1
- Requires PHP
- 8.2
- Downloads
- 13,635,685
Our analysis
AI-assistedWP-PageNavi is a WordPress plugin that replaces traditional pagination links with more advanced page links. It provides the `wp_pagenavi()` template tag, which you can use in your theme to enhance navigation between posts. This plugin is suitable for users looking to improve the pagination system on their WordPress sites.
Best for: This plugin suits WordPress users who want to enhance their site's pagination.
What it does well
- ✓Replaces old pagination links with advanced page links
- ✓Easy to implement with a simple template tag
- ✓Configurable through the WordPress admin settings
Where it falls short
- •Limited information on additional features or customisation options
Verdict
WP-PageNavi offers a straightforward solution for improving pagination on WordPress sites, though details on its full capabilities are limited.
From the developer
Lester Chan's own description of WP-PageNavi, lightly tidied.
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.
Much of the 2.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 class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</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.