描述
想要取代較舊 ← 舊發表 | 新發表 → 部分頁面的連結?
This plugin provides the wp_pagenavi()
template tag which generates fancy pagination links.
使用量
在您的主題中,您需要取代 next_posts_link() 與 previous_posts_link() 。
在貳零壹零主題中,看起來像是:
<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-管理 -> Settings -> PageNavi 進行設定。
變更的CSS
如果您需要設定 WP-PageNavi 的 CSS 樣式,您可以複製外掛目錄中的 pagenavi-css.css
的檔案,並進行修改。這樣您就不會在變更外掛後,遺失您先前的變更。
另外,您也可以在設定頁面中取消選取「使用 Use pagenavi.css ?」選項,並增加目錄中 style.css 檔案的樣式。
變更類別名稱
可以在這裡找到更多有用的 篩選器 ,並可變更指定頁面元素中的類別名稱。
篩選器
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
篩選器使用量
// 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;
}
開發
製作群
捐贈
我在空餘時間建立、更新、維護並支援這個外掛,如果您真的喜愛我的外掛,可以透過捐獻協助,會真的很感謝您。即使沒有,也無須有壓力的使用我的作品。
螢幕截圖
常見問題
-
啟動時發生錯誤:「可能的錯誤:語法錯誤、不可預期的…」
-
請確認您的主機正在執行 PHP 5版。這才是唯一萬無一失的方式在 wp-config.php 增加新行 (在
<?php
標籤後開啟):var_dump(PHP_VERSION);
-
當我移至第二頁時,我看見與第一頁相同的文章!
-
您正在使用
query_posts()
發生錯誤。請見 正確使用 query_posts() 的方式 -
是的;請閱讀 這個教學(英文)
-
我要如何忽略選項頁面?
-
如果您執行多國語言外掛,您可能需要略過這頁選項的字串。
您也可以:
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>
評價
貢獻者及開發者
修改日誌
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
- Use translate.wordpress.org to translate the plugin
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
- 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