Mini Pagenavi
用幾行代碼取代了 Pagenavi 翻頁插件.
這段代碼孕育了快一年 (但有很長時間忘了它), 時而改改, 改到最後, 想不到翻頁代碼也可這麼簡單, 我自己都要懷疑.
效果看我首頁就有了, 將下列代碼 copy 到模板的 functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* Mini Pagenavi v1.0 by Willin Kan. */ function pagenavi( $p = 2 ) { // 取當前頁前後各 2 頁 if ( is_singular() ) return; // 文章與插頁不用 global $wp_query, $paged; $max_page = $wp_query->max_num_pages; if ( $max_page == 1 ) return; // 只有一頁不用 if ( empty( $paged ) ) $paged = 1; // echo '<span class="pages">Page: ' . $paged . ' of ' . $max_page . ' </span> '; // 頁數 if ( $paged > $p + 1 ) p_link( 1, '最前頁' ); if ( $paged > $p + 2 ) echo '... '; for( $i = $paged - $p; $i <= $paged + $p; $i++ ) { // 中間頁 if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers current'>{$i}</span> " : p_link( $i ); } if ( $paged < $max_page - $p - 1 ) echo '... '; if ( $paged < $max_page - $p ) p_link( $max_page, '最後頁' ); } function p_link( $i, $title = '' ) { if ( $title == '' ) $title = "第 {$i} 頁"; echo "<a class='page-numbers' href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$i}</a> "; } // -- END ---------------------------------------- |
如果要顯示當前頁及總頁數, 將標注那行最前面兩斜線刪除即可.
然後在使用的地方貼上:
1 | <?php pagenavi(); ?> |
括號中的參數是前後頁數, 可不加參數.
例: pagenavi(3); 就是取當前頁前後各 3 頁 (不計最前頁、最後頁及當前頁), 最大總數為 9 頁. 若不足 3 頁, 有多少取多少.
pagenavi(); 默認值為 2, 所以不加參數就是前後各取 2 頁, 最大總數為 7 頁, 一般都夠.
為了配合 css, 也許還要加 div class="navigation" 來嵌入, 這要看你的模板怎麼寫.
css 的部份是和評論翻頁 paginate_comments_links() 共用的, 可能你的模板已經有了, 沒有的話可參考我的:
1 2 3 | .page-numbers {margin:10px 2px; padding:1px 8px; text-decoration:none; background:#555;} .page-numbers:hover{background:#999; color:#111;} .current, .current:hover{color:#555; background:#222; border:1px solid #111;} |
pagenavi() 是用在 home、archive、index 的翻頁, 評論翻頁是用 paginate_comments_links(), 文章翻頁是用 wp_link_pages(), 請勿混淆.
後記: 不小心在 Mcooo Blog 發現了 Mini Pagenavi 老祖宗 -- http://mcooo.com/google-page-for-wordpress.html, Mini Pagenavi 剛開始就是由這段代碼改寫而來, 現在已是繁衍好幾代了.

貌似我的主题集成了这个.
好东西,已使用
我主题对翻页不是很好,暂时都没有解决办法,郁闷
终于又可以少个插件了!!
谢谢大大的代码,我可以去掉nav了。
嗯正在使用這個. 很好
晚上有時間就換掉page-nav
使用這個。哈哈。感恩哪~