WordPress 技巧:不用插件实现 Pagenavi 功能

Pagenavi 是一个很好的功能,现在 WordPress 博客一般都是使用 WP-Pagenavi 插件来实现,其实 WordPress 现在已经自己支持 Pagenavi 功能了,只需要将下面简单的代码复制到当前主题的 functions.php 文件中,然后再相关的主题模板文件中使用 native_pagenavi() 函数就能实现 Pagenavi 的功能。

function wpjam_pagenavi(){
    global $wp_query;   

    $big = 999999999; // need an unlikely integer

    $pagination = array(
        'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
        'format' => '',
        'total' => $wp_query->max_num_pages,
        'current' => max( 1, get_query_var('paged') ),
        'prev_text' => __('«'),
        'next_text' => __('»')
    );

    echo '

<div class="pagenavi">'.paginate_links($pagination).'</div>
';
}

详细解释:paginate_links 是 WordPress 从 2.1 版本开始就提供的函数,它可以在任何地方显示页码导航链接。这个函数的基本参数如下:

其中 'base' 参数用来提供创建页面链接的参考链接,'format' 参数是用来替换成页码。'total' 参数是设置页面的总数,'current' 参数用于设置当前的页码,它们都必须是整数。这些参数我们在使用的时候必须提供的。

'show_all' 参数设置为 true 就会显示所有的页面,默认情况它是被设置为 false 的,通过 'end_size' 和 'mid_size' 这两个参数来控制页码显示的规则。'end_size' 参数是用来控制在开始和结束的两端显示多少个数字,默认是 1 。'mid_size' 参数是用来显示多少个数字显示在当前页数字的两边,并且不包括当前页。

'prev_next' 这个参数是用来设置是否显示上一页和下一页的页码链接,默认是 true,然后我们可以通过 'prev_text' 和 'next_text' 这两个参数来控制上一页和下一页的文本。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。