WordPress集成了自动分页功能,使用WordPress分页代码调用WordPress分页方法,就可以快速为WordPress文章列表分页,这个方法在WordPress仿站制作WordPress主题时非常有用。
WordPress自带的分页函数非常难看,不能看到页码,只能看到上一页下一页首页,用户体验极差。像大前端DUX主题这种带页码的分页方法就非常不错,不仅显示总共有多少页,而且还自动省略多余的页码,用户体验极佳,效果如本站的文章列表分页。
这种WordPress文章列表分页方法不仅可以随时回到首页,还会自动省略中间的页码,只显示用户所在位置附近的页码,还有上一页下一页以及总共多少页,可以说是把用户需要的条件都考虑进去了。
WordPress分页代码
function mo_paging() {
$p = 3;
if ( is_singular() ) return;
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ( $max_page == 1 ) return;
echo ‘
-
- ‘;
-
- if ( empty( $paged ) ) $paged = 1;
-
- echo ‘
- ‘; previous_posts_link(‘上一页’); echo ‘
‘;
if ( $paged > $p + 1 ) _paging_link( 1, ‘
-
- 第一页
‘ );
if ( $paged > $p + 2 ) echo ”
-
- ···
“;
for( $i = $paged – $p; $i <= $paged + $p; $i++ ) { if ( $i > 0 && $i <= $max_page ) $i == $paged ? print ”
-
- {$i}
” : _paging_link( $i );
}
if ( $paged < $max_page – $p – 1 ) echo ”
-
- …
“;
echo ‘
‘;
echo ‘
-
- 共 ‘.$max_page.’ 页
‘;
echo ‘
‘;
}
function _paging_link( $i, $title = ” ) {
if ( $title == ” ) $title = “第 {$i} 页”;
echo ”
- {$i}
“;
}
将上面的代码放入主题目录下的functions.php文件中,在文章列表循环结束后调用mo_paging()方法即可显示WordPress分页效果。需要注意的是这段代码只是输出了HTML标签,并没有css,大家需要自己写上自己喜欢的css样式代码。