在很多WordPress主题中,分页导航都是采用传统的“上一页”“下一页”两个链接,但这种方法并不实用,我们希望把他变成“1 2 3 …”具体的页码。有一个实现方法是使用WP-Pagenavi插件,但这么一个小小的功能,我们希望把它整合进主题中,以减少对插件的依赖。
具体的实现方法是:
1.首先在主题functions.php中加入以下代码:
/* Pagenavi */ function pagenavi( $before = '', $after = '', $p = 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 $before.'{$linktext}"; }'.$after."\n"; } function p_link( $i, $title = '', $linktype = '' ) { if ( $title == '' ) $title = "Page {$i}"; if ( $linktype == '' ) { $linktext = $i; } else { $linktext = $linktype; } echo "
这里你可以自己修改一些显示文字
2.然后在页面相应位置,把原来的分页导航代码改成以下:
<?php pagenavi(); ?>
如果你想在首页增加分页,那就在对应的模板文件中的index.php文件,增加如上代码
这样就已经实现了分页导航,但此时的分页导航还很难看,页码都挤在一起,所以我们需要在style.css中进行适当装饰:
/* pagenavi */ #pagenavi { text-align: center; font-size: 12px; margin: 15px 0 20px; text-align: center; } #pagenavi a, #pagenavi a:visited, #pagenavi span { background-color: #F6F6F6; border: 1px solid #C6C6C6; border-radius: 2px 2px 2px 2px; color: #444444; display: inline-block; height: 26px; line-height: 26px; margin: 0 2px; padding: 0 5px; } #pagenavi a, #pagenavi a:visited { margin: 0 2px; } #pagenavi span.pages { color: #777; font-weight: bold; margin-right: 10px; padding: 0; border:none } #pagenavi span.current { font-weight: 800; border: none } .page-numbers { height: 22px; min-width: 22px; } #pagenavi a:hover { background: #31B2FF; border-color: #31B2FF; color: #FFFFFF; text-decoration: none; }