描述
要替换旧的 ← 较旧文章 | 较新的文章 →带有某些页面链接的导航链接?
该插件提供了wp_pagenavi()
模板标签,它可以生成漂亮的分页链接。
用法
在您的主题中,您需要找到对next_posts_link() 和 previous_posts_link() 的调用并替换它们。
在 Twentyten 主题中,它看起来像这样:
<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>
您可以将这两行替换为:
<?php wp_pagenavi(); ?>
对于多页页面,您将查找如下代码:
<?php wp_link_pages( ... ); ?>
并替换为:
<?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>
转到 WP-管理员 -> 设置 -> 分页导航 >进行配置。
更改CSS
如果需要配置WP-PageNavi的CSS样式,则可以将 pagenavi-css.css
文件从插件目录复制到主题目录,然后在其中进行修改。 这样,更新插件时您不会丢失任何更改。
或者,您可以在设置页面取消选中“使用pagenavi.css”选项,然后将样式直接添加到主题的style.css文件中。
更改Class名称
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;
}
开发
鸣谢
- Plugin icon by SimpleIcon from Flaticon
Donations
我大部分的空闲时间都花在了创建,更新,维护和支持这些插件上,如果您真的喜欢我的插件并且可以为我赞助几块钱,我将不胜感激。 如果不是随意使用它,则没有任何义务。
屏幕截图
常见问题
-
激活错误:”Parse error: syntax error, unexpected…”
-
确信您的主机正在运行PHP5。唯一安全的方法是将此行添加到wp-config.php中(在
<?php
标记之后):var_dump(PHP_VERSION);
-
当我转到第2页时,我看到的文章与第1页相同!
-
您使用错了
query_posts()
。 请参见使用 query_posts()的正确方法 -
是; 阅读本教程
-
如何忽略选项页面?
-
如果您正在运行多语言插件,则可能要忽略选项页面中的字符串。
您可以这样做:
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>
评价
贡献者及开发者
更新日志
2.94.5
- FIXED: WP SCB Framework now uses init hook again
2.94.4
- FIXED: Revert WP SCB Framework to use plugins_loaded hook
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
- 更新 SCB Framework
2.90
- Remove po/mo files from the plugin
- 使用translate.wordpress.org翻译插件
2.89.1
- FIXED: before and after args
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
- 已更新 scbFramework
2.82
- fixed prev/next links not appearing in some conditions
- added Hebrew, Georgian and Azerbaijani translations
- 已更新 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()
- 已更新翻译
- 更多信息