WP-PageNavi

Descrição

Quer substituir o antigo link ← Posts anteriores | Posts recentes → com alguns links de página?

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

Uso

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( ... ); ?>

e substitua com:

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

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

Mudando o 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.

Mudando nos nomes das classses

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

Filtros

  • 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

Usando filtros

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

Desenvolvimento

Créditos

Doações

Eu passo a maior parte do meu tempo livre na criação, atualização, manutenção e suporte desses plugins, se você realmente ama meus plugins e pode me enviar alguns dólares, eu realmente aprecio isso. Mas do contrário, sinta-se livre para usá-los sem quaisquer obrigações.

Capturas de tela

  • Com estilos personalizados
  • Admin – Página de opções

Perguntas frequentes

Error on activation: “Parse error: syntax error, unexpected…”

Make sure your host is running PHP 5. The only foolproof way to do this is to add this line to wp-config.php (after the opening <?php tag):

var_dump(PHP_VERSION);

When I go to page 2, I see the same posts as on page 1!

Você está usando query_posts() de modo errado. Consulte Como usar query_posts()

Does PageNavi work with secondary WP_Query instances?

Sim; leia este tutorial

How do I ignore the options page?

Se você estiver executando um plugin de multi-idioma, você provavelmente vai querer ignorar as cadeias na página de opções.

Você pode fazer assim:

<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>

Avaliações

17 agosto, 2023
Simples e totalmente funcional. Resolvendo o problema de paginação com extrema facilidade. Parabéns aos devs.
22 novembro, 2022
I am using this plugin + Divi. It works just fine, but there is a bug with the slugs of the pages and the post types. If you have, for example, a post type with the slug “speakers” and your page is also call “speakers”, both slugs will be the same and this is causing the plugin to break. Most people on the internet are looking for this error as the page/2 error. Be sure the slugs does not match and it will work just fine.
17 agosto, 2022
A simple and excellent plugin. The display of the blog list becomes much smarter, so it is very useful. Currently, I’ve been using in combination with “Styles For WP Pagenavi Addon”.
24 junho, 2022
Pure code and so simple to customize. The simplest plugin I ever installed. A couple of minutes to get it working. Couldn’t be happier 🙂 I only added this snippet to replace my Woocommerce pagination: remove_action('woocommerce_pagination', 'woocommerce_pagination', 10); function woocommerce_pagination() { wp_pagenavi(); } add_action( 'woocommerce_pagination', 'woocommerce_pagination', 10);
Leia todas as 148 avaliações

Colaboradores e desenvolvedores

“WP-PageNavi” é um programa de código aberto. As seguintes pessoas contribuíram para este plugin.

Colaboradores

WP-PageNavi” foi traduzido para 53 localidades. Agradecemos aos tradutores por suas contribuições.

Traduzir “WP-PageNavi” para seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, consulte o repositório SVN ou assine o registro de desenvolvimento por RSS.

Registro de alterações

2.94.3

  • FIXED: Update WP SCB Framework to fix load_textdomain_just_in_time warning
  • FIXED: Remove load_plugin_textdomain since it is no longer needed since WP 4.6

2.94.2

  • FIXED: load_plugin_textdomain to be called during init

2.94.1

  • FIXED: PHP 8.2 warnings

2.94.0

  • NEW: Add args param on wp_pagenavi filter. Props @asadowski10
  • NEW: Improve accessibility of nav links. Props @carlabobak

2.93.4

  • FIXED: Update SCB Framework To Support PHP 8

2.93.3

  • FIXED: Update SCB Framework To Remove contextual_help

2.93.2

  • NEW: Bumped to WordPress 5.4
  • FIXED: Ensure Action Links is always an array

2.93.1

  • FIXED: Duplicated Settings Saved admin_notices

2.93

  • Remove screen_icon from SCB.

2.92

  • Add title attr to pages link. Props @Mahjouba91.

2.91

  • Validate text option against kses
  • Update SCB Framework

2.90

  • Remove po/mo files from the plugin
  • Use translate.wordpress.org to translate the plugin

2.89.1

  • CORRIGIDO: tags antes e depois

2.89

  • NEW: wrapper_tag option to allow other HTML tag besides DIV and wrapper_class option to allow other class name besides wp-pagenavi. Props @Mahjouba91.

2.88

  • NEW: Added filters for altering class names. Props @bookwyrm

2.87

  • NEW: Uses WordPress native uninstall.php

2.86

  • NEW: Bump to 4.0
  • NEW: Added rel=next and rel=previous

2.85

  • FIXED: “Use pagenavi-css.css” & “Always Show Page Navigation” in the options are not being saved

2.84

  • FIXED: Updated scb framework to fix scbAdminPage incompatible error

2.83

  • added ‘echo’ parameter
  • added Estonian and Bengali translations
  • updated scbFramework

2.82

  • fixed prev/next links not appearing in some conditions
  • added Hebrew, Georgian and Azerbaijani translations
  • updated scbFramework

2.81

  • require an explicit type; fixes bugs with multipart pages

2.80

  • support for multi-part pages and user queries
  • moved prev/next links before/after first/last links
  • more info

2.74 (2011-02-17)

  • added ‘smaller’ and ‘larger’ classes
  • added $query arg to wp_pagenavi()
  • updated translations
  • more info