使用wordpress的博友為了使博客更好看都會(huì)想到要一個(gè)好的分頁(yè),畢竟wordpress默認(rèn)的分頁(yè)不怎么美觀。但是,相信剛開(kāi)始,除了喜歡 倒騰代碼或者具有完美“強(qiáng)迫癥”的童鞋外,一般都會(huì)因?yàn)橄勇闊┒蛘咭驗(yàn)閷?duì)代碼不懂而選擇使用wordpress插件來(lái)實(shí)現(xiàn)文章的分頁(yè),本人剛開(kāi)始搭建博 客的時(shí)候也是用類似wp-pagenavi翻頁(yè)插件來(lái)實(shí)現(xiàn)的。
但是,大家應(yīng)該都知道wordpress裝太多的插件,因?yàn)樵谶@個(gè)追求精簡(jiǎn),簡(jiǎn)單生活的年代誰(shuí)也不想代碼冗繁,同時(shí)網(wǎng)頁(yè)數(shù)據(jù)大,會(huì)引起網(wǎng)頁(yè)打開(kāi)速度慢,這樣對(duì)訪客也不是很友好。
于是,我們可以通過(guò)css樣式以及php分頁(yè)函數(shù)來(lái)實(shí)現(xiàn)wordpress分頁(yè),下面就介紹怎樣利用css+php函數(shù)輕松替代插件來(lái)實(shí)現(xiàn)wordpress分頁(yè)。
首先在css樣式表里添加下面這個(gè)樣式:
.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這個(gè)函數(shù)里面添加分頁(yè)函數(shù),具體代碼如下:
if ( !function_exists('pagenavi') ) {
function pagenavi( $p = 7 ) { // 取當(dāng)前頁(yè)前后各 2 頁(yè),根據(jù)需要改
if ( is_singular() ) return; // 文章與插頁(yè)不用
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ( $max_page == 1 ) return; // 只有一頁(yè)不用
if ( empty( $paged ) ) $paged = 1;
echo '<span>頁(yè)數(shù):' . $paged . '/' . $max_page . '</span>'; // 顯示頁(yè)數(shù)
if ( $paged > $p + 1 ) p_link( 1, '最前頁(yè)' );
if ( $paged > $p + 2 ) echo '... ';
for( $i = $paged - $p; $i <= $paged + $p; $i++ ) { // 中間頁(yè)
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, '最后頁(yè)' );
}
function p_link( $i, $title = '' ) {
if ( $title == '' ) $title = "第 {$i} 頁(yè)";
echo "<a href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$i}</a> ";
}
}
添加完上述代碼后,運(yùn)行下看網(wǎng)站的分頁(yè)是不是搞定了,不過(guò)有點(diǎn)需要說(shuō)明,在樣式表里面width以及背景顏色都是按照筆者博客來(lái)設(shè)定的,只要適當(dāng)調(diào)整就好。
以上就是如何利用css樣式和php函數(shù)實(shí)現(xiàn)wordpress分頁(yè)的方法,真正避免過(guò)多利用wp插件。如果你有什么建議和問(wèn)題,歡迎交流指教!
更多信息請(qǐng)查看IT技術(shù)專欄