使用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 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 href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$i}</a> ";
}
}
添加完上述代碼後,運行下看網站的分頁是不是搞定了,不過有點需要說明,在樣式表裡面width以及背景顏色都是按照筆者博客來設定的,只要適當調整就好。
以上就是如何利用css樣式和php函數實現wordpress分頁的方法,真正避免過多利用wp插件。如果你有什麼建議和問題,歡迎交流指教!