热门标签 | HotTags
当前位置:  开发笔记 > 大数据 > 正文

wordpress功能集成(六):无插件实现页码

wordpress很多主题没有自带页码,而是“上一页”“下一页”的链接,但是按照我们国人的习惯,有页码将会方便很多,事实上wordpress是有页码函数的,完全不必要为了这么点小功能而去装一个插件。函数paginate_links(),官网的介绍是

wordpress很多主题没有自带页码,而是“上一页”“下一页”的链接,但是按照我们国人的习惯,有页码将会方便很多,事实上wordpress是有页码函数的,完全不必要为了这么点小功能而去装一个插件。函数paginate_links(),官网的介绍是:Retrieve paginated link for archive post pages. Technically, the function can be used to create paginated link list for any area ( e.g.: ? Prev 1 … 3 4 5 6 7 … 9 Next ? )。不过直接使用这个函数是不会显示页码的,需要配置参数。

按照官网示例在需要显示页码的地方添加如下函数即可显示页码与上下页链接:

1
2
3
4
5
6
7
8
9
10
11
12
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  
) );  
?>

不过按照这样配置,不是很方便,一般我们将新定义一个函数用来显示页码,这样每次调用的时候,就不需要重复配置这些参数,代码页更简洁,便于修改。如下,只需往主题的functions.php文件中添加页码函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//页码函数  
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( !emptyempty($wp_query->query_vars['s']) )  
        $pagination['add_args'] = array('s'=>get_query_var('s'));  
    echo paginate_links($pagination);  
}

按照上面的函数调用该函数即可:

  1.  

显示效果如图,当然我需要css配合才行:


函数的几个常修改的参数如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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'    => __('« Previous'),//“上一页”链接显示的文字  
    'next_text'    => __('Next »'),//“下一页”链接显示的文字  
    'type'         => 'plain',  
    'add_args'     => False,  
    'add_fragment' =>  );   
    );  
?>

看官可自行修改函数中的配置参数


推荐阅读
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讲述了孙悟空写给白骨精的信件引发的思考和反省。孙悟空在信中对自己的行为进行了反思,认识到自己胡闹的行为并没有给他带来实际的收获。他也揭示了西天取经的真相,认为这是玉皇、菩萨设下的一场陷阱。他还提到了师傅的虚伪和对自己的实心话,以及自己作为师傅准备提拔的对象而被派下来锻炼的经历。他认为路上的九九八十一难也都是菩萨算计好的,唐僧并没有真正的危险。最后,他提到了观音菩萨在关键时刻的指导。这封信件引发了孙悟空对自己行为的思考和反省,对西天取经的目的和自己的角色有了更深入的认识。 ... [详细]
  • Windows2003 IIS上设置301定向,实现不带www域名跳转带www域名的方法
    打开IIS,建一个网站,主机头用不带www的域名,随便指向一个目录。然后在这个网站上点右键,属性--主目录--重定向到URL如图ÿ ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文讨论了读书的目的以及学习算法的重要性,并介绍了两个算法:除法速算和约瑟夫环的数学算法。同时,通过具体的例子和推理,解释了为什么x=x+k序列中的第一个人的位置为k,以及序列2和序列3的关系。通过学习算法,可以提高思维能力和解决问题的能力。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 本文详细介绍了使用 SQL Load 和 Excel 的 Concatenate 功能将数据导入 ORACLE 数据库的方法和步骤,同时介绍了使用 PL/SQL tools 将数据导入临时表的方法。此外,还提供了一个转链接,可参考更多相关内容。摘要共计XXX字。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 作者表示自己最近工作非常忙碌,无法抽出时间写作。他计划在未来的几天内写关于namespace与C#的名字解析以及数据库内容转化为excel文件下载的知识。 ... [详细]
author-avatar
钱靖均秀蓉怡慧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有