WordPress显示页码

我现在用的twentytwelve主题,默认页面下面没有显示页码,而是显示“早期文章”和“较新文章”。不使用插件,通过修改php代码可以简单实现页码显示。

一、添加页面显示

在当前主题根目录下的functions.php文件中添加函数

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);
}

在index.php,category.php,search.php这3个文件中修改页码显示函数的调用。

我现在这个主题的页码显示函数是twentytwelve_content_nav(),用wp_pagenavi()替换此函数即可。

显示页码的完整函数调用如下:

<?php wp_pagenavi(); ?>

函数参数说明

<?php
echo paginate_links( $args );
$args=array(
    'base'=> '%_%',
    'format'=> '?page=%#%',
    'total'=> 1,//总共显示的页码数
    'current'=> 0,//当前页码数
    'show_all' => False,//是否将所有页码都显示出来,可以如上图中间显示省略号,需配合下两个参数
    'end_size'=> 1,//在最后面和最前面至少显示多少个数,比如1,如图,最后面显示了至少显示一个页码“20”
    'mid_size' => 2,//在当前页码的前后至少显示多少个页码数
    'prev_next' => True,//是否显示“上一页”“下一页”链接
    'prev_text' => __('&laquo; Previous'),//“上一页”链接显示的文字
    'next_text' => __('Next &raquo;'),//“下一页”链接显示的文字
    'type' => 'plain',
    'add_args' => False,
    'add_fragment' => );
 );
?>

二、设置页码样式

在style.css文件中添加样式

.page_navi{width:100%;height:36px;line-height:36px;text-align:center;overflow:hidden;padding-top:1em;}

.page_navi a{padding:3px 8px;margin:2px;text-decoration:none;color:#888;border:1px solid #ccf;}

.page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;font-weight:bolder;}

把页面调用的地方修改为如下即可

<div class="page_navi"> <?php wp_pagenavi(); ?> </div>

 

参考链接

WordPress内置页码函数无插件实现页码

WORDPRESS博客如何添加页码,WORDPRESS三步实现分页功能

发表评论

邮箱地址不会被公开。 必填项已用*标注