wordpress CMS主题 微信
  • 全部教程
  • Home > wordpress CMS主题制作 > 怎样为wordpress主题的文章列表添加无插件分页?

    怎样为wordpress主题的文章列表添加无插件分页?

    高时银博客 wordpress CMS主题制作 点击: 2,241 次 0 1

    在制作wordpress主题过程中,wordpress文章列表分页是不可或少的。为wordpress主题的文章列表分页,就有不少的人想到用wordpress插件来实现。的确,插件确实可以实现很漂亮的分布样式,但是,能尽量不使用插件,最好是不使用,毕竟插件在一定程序上会影响网站的速度。其实,为wordpress主题的文章列表分页,通过纯代码就可以实现。其实,wordpress程序就已提供了这样的功能,wordpress已经提供了页码函数——paginate_links(),但是直接使用这个函数,没有任何显示效果,需要配置参数来实现。

    下面是wordpress官方提供的案例代码:

    global $wp_query;
    $big = 999999999; // need an unlikely integer
    echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages
    ) );

    上面的代码可以实现分页效果,但是在实际使用中不太方便,要每次在显示分页的地方添加这个代码及修改参数。为了更加方便在wordpress主题中的使用,我们可以将这个分页代码写入一个颁布函数中,这样,我们在使用分页原地方就只需调用这个分页函数就可以了,效果如高时银博客的分页效果。

    wordpress分页函数代码如下:

    function wp_pagenavi() {
    //先申明两个全局变量
    global $wp_query, $wp_rewrite;
    //判断当前页面
    $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

    $pagination = array(
    'base' => @add_query_arg('paged','%#%'),
    'format' => '',
    'total' => $wp_query->max_num_pages, //总共显示的页码数
    'current' => $current, //当前页码数
    'show_all' => false, //是否将所有页码都显示出来,需配合下两个参数
    'type' => 'plain',
    'end_size'=>'1', //在最后面和最前面至少显示多少个数,
    'mid_size'=>'3', //在当前页码的前后至少显示多少个页码数
    'prev_text' => '上一页', //是否显示“上一页”“下一页”链接
    'next_text' => '下一页'
    );

    if( $wp_rewrite->using_permalinks() )
    $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg('s',get_pagenum_link(1) ) ) . 'page/%#%/', 'paged');
    if( !empty($wp_query->query_vars['s']) )
    $pagination['add_args'] = array('s'=>get_query_var('s'));
    echo paginate_links($pagination);
    }

    将上面的代码放到wordpress主题的functions.php文件中,这样,我们就为wordpress主题添加了文章列表分页功能。但是,在前台要想显示分页,我们还要在前台页面文件中调用这个函数,一般wordpress主题的首页(index.php)、分类页(category.php)、搜索页(search.php)、标签列表页(tags.php)需要用到这个分页,我们可以在这些页调用这个分页函数,代码如下:

    <?php wp_pagenavi(); ?>

    当然,上面只是实现了分页效果,分页的显示样式还要我们通过CSS来实现,这里不是本章的讲解的内容,就不多说了。


    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201507094590.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论