详解WordPress中给链接添加查询字符串的方法


Posted in PHP onDecember 18, 2015

查询字符串指的是链接中后边的问号后的查询语句,格式为 key=value,多个查询语句用 & 符号分开。add_query_arg() 函数就是 WordPress 提供的一个方便的函数,可以帮你给一个链接添加一个或者多个查询语句。

详解WordPress中给链接添加查询字符串的方法

有人会问,添加查询字符串直接在链接后边手动追加不就可以了吗?这样有时候可行,但链接如果本身就有查询字符串就会造成格式错误的问题,而且也不利于 PHP 编写管理,而 add_query_arg() 函数帮你把一切都想好了,你只需要给出要添加查询字符串的链接和一个或多个键值与键名即可。

用法

add_query_arg( $key, $value, $old_query_or_uri );
add_query_arg( $query, $old_query_or_uri );

参数

add_query_arg() 有两种用法,第一种用法需要三个参数。

$key

(整数 | 字符串)(必须)要添加的参数的键值,像数组一样,如果是字符串则为名字,数字则选择第 N 个参数。

默认值:None

$value

(混合)(必须)要添加的值。

默认值:None

$old_query_or_uri

(字符串)(可选)被处理的链接。

默认值:False,写 False 则为 $_SERVER['REQUEST_URI']

第二种用法需要两个参数,用数组传递要被添加到链接上的查询字符串。

$query

(数组)(必须)要添加的查询,键值和键名分别对应。

默认值:None

$old_query_or_uri

(字符串)(可选)被处理的链接。

默认值:False,写 False 则为 $_SERVER['REQUEST_URI']

返回值

(字符串)添加好查询字符串的链接。

例子

第一种用法:

echo add_query_arg( 'id', 123, 'https://3water.com' );

第二种用法:

echo add_query_arg( array( 'id' => 123 ), 'https://3water.com' );

两个的结果都是 https://3water.com?id=123

其它特殊情况:

echo add_query_arg( array( 'id' => 123 ), 'https://3water.com?query=post' );//https://3water.com?query=post&id=123
echo add_query_arg( array( 'id' => 123, 'cat' => 'themes' ), 'https://3water.com?query=post' );//https://3water.com?query=post&id=123&cat=themes
echo add_query_arg( array( 'id' => 123, 'cat' => 'themes', 'query' => 'page' ), 'https://3water.com?query=post' );//https://3water.com?query=page&id=123&cat=themes

例子

此函数位于:wp-includes/functions.php

PHP 相关文章推荐
我的论坛源代码(六)
Oct 09 PHP
PHP4.04简明安装
Oct 09 PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
php类常量的使用详解
Jun 08 PHP
php json与xml序列化/反序列化
Oct 28 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 #PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 #PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 #PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 #PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 #PHP
PHP封装的字符串加密解密函数
Dec 18 #PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 #PHP
You might like
通过文字传递创建的图形按钮
2006/10/09 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP微商城开源代码实例
2019/03/27 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
JS中数据结构之栈
2019/01/01 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
Python生成器(Generator)详解
2015/04/13 Python
基于Python实现用户管理系统
2019/02/26 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
如何通过python实现全排列
2020/02/11 Python
介绍一下Java的事务处理
2012/12/07 面试题
小学生自我评价范例
2013/09/24 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
答谢会策划方案
2014/05/12 职场文书
社区戒毒工作方案
2014/06/04 职场文书
企业趣味活动方案
2014/08/21 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
总结Python连接CS2000的详细步骤
2021/06/23 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB