5,283 GPL Products · Updated DailyPRO Versions Available · Instant Download
WP-PageNavi 3.0.1 – WordPress Plugin

WP-PageNavi

v3.0.1 ★★★★★4.7/5 (149) Updated 3 days ago Live Demo ↗
Download WP-PageNavi 3.0.1
Free download · version 3.0.1

Description

At a glance

WP-PageNavi v3.0.1 — free WordPress plugin download. Key facts: 500K+ active installs · 4.7/5 rating from 149 reviews · updated August 28, 2026 · requires WordPress 6.8+ & PHP 8.2+.

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">&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 css/wp-pagenavi.css file from the plugin directory into your theme’s directory as wp-pagenavi.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;
}

Alternatively, you can set “Use wp-pagenavi.css” to No on 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

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

Frequently asked questions

What is WP-PageNavi?

WP-PageNavi is a free WordPress plugin available under the GPL license. The current version is 3.0.1. It is active on over 500K websites.

Is WP-PageNavi free to download?

Yes — WP-PageNavi 3.0.1 is a free GPL download with no hidden fees, no account needed, and no feature locked behind a paywall in this package. Users rate it 4.7 out of 5 based on 149 reviews.

How do I install WP-PageNavi 3.0.1?

Download the ZIP file from this page, then in your WordPress dashboard go to Plugins → Add New → Upload Plugin, choose the file, click Install Now, then Activate. The plugin works immediately after activation — no license key or extra setup is required for the core features.

What are the requirements for WP-PageNavi?

WP-PageNavi 3.0.1 requires WordPress 6.8 or higher and PHP 8.2 or higher. Most modern WordPress hosts already meet these versions. Running older versions may cause features to break, so update WordPress and PHP first if your site is behind.

When was WP-PageNavi last updated?

Version 3.0.1 was last updated on August 28, 2026. This page is refreshed automatically, so the download here always matches the newest version we have verified.

Is the WP-PageNavi download safe?

The file is sourced directly from the official WordPress.org repository — the same file the developer published. It is served unmodified, so what you install here is byte-identical to the official release.

Version: 3.0.1
Updated: October 1, 2026

Technical details

Version3.0.1
Last updatedAugust 28, 2026
Active installs500,000+
Rating★★★★★ 4.7/5 (149 reviews)
Requires WordPress6.8 or higher
Requires PHP8.2 or higher
AuthorLester Chan
Tagsnavigation, page-links, pages, pagination, paging
Demo WP-PageNavi

Download WP-PageNavi

Download WP-PageNavi WP Plugin

Official Page ↗

Note: if the download does not start, disable your ad blocker and try again.

Leave a Comment