使用 WordPress 的博友為了使部落格更好看都會想到要一個好的分頁,畢竟 WordPress 預設的分頁不怎麼美觀。但是,相信剛開始,除了喜歡
倒騰程式碼或者具有完美 「強迫症」 的童鞋外,一般都會因為嫌麻煩而或者因為對程式碼不懂而選擇使用 WordPress 外掛來實現文章的分頁,本人剛開始搭建博
客的時候也是用類似 wp-pagenavi 翻頁外掛來實現的。

但是,大家應該都知道 WordPress 裝太多的外掛,因為在這個追求精簡,簡單生活的年代誰也不想程式碼冗繁,同時網頁資料大,會引起網頁開啟速度慢,這樣對訪客也不是很友好。

於是,我們可以透過 css 樣式以及 php 分頁函式來實現 WordPress 分頁,下面就介紹怎樣利用 css+php 函式輕鬆替代外掛來實現 WordPress 分頁。

首先在 css 樣式表裡新增下面這個樣式:

.pagenavi_badoo {
font-size:12px;
text-align:center;
font-weight:700;
margin:10px 0;
}
.pagenavi_badoo a {
width: 16px;
background:#fff;
color:#22222e;
border:1px solid #ccc;
padding:4px 8px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
.pagenavi_badoo a:hover {
background:#252525;
color:#fff;
text-decoration:none;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
.pagenavi_badoo .pages {
color:#fff;
margin-right:5px;
background:#252525;
padding:4px 8px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
.pagenavi_badoo .current {
color:#cbff83;
background:#252525;
padding:4px 8px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
新增好樣式後,在 function.php 這個函式裡面新增分頁函式,具體程式碼如下:
if ( !function_exists('pagenavi') ) {
function pagenavi( $p = 7 ) { // 取當前頁前後各 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> 頁數:' . $paged . '/' . $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 >{$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 href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$i}</a> ";
}
}

新增完上述程式碼後,執行下看網站的分頁是不是搞定了,不過有點需要說明,在樣式表裡面 width 以及背景顏色都是按照筆者部落格來設定的,只要適當調整就好。

以上就是如何利用 css 樣式和 php 函式實現 WordPress 分頁的方法,真正避免過多利用 wp 外掛。如果你有什麼建議和問題,歡迎交流指教!