详解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 相关文章推荐
PHP中路径问题的解决方案
Oct 09 PHP
解决GD中文乱码问题
Feb 14 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP Reflection API详解
May 12 PHP
php中的常用魔术方法汇总
Feb 14 PHP
PHP实现的进度条效果详解
May 03 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
详解微信UnionID作用
2019/05/15 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
JSON Web Tokens的实现原理
2017/04/02 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
详解python中eval函数的作用
2019/10/22 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
python安装及变量名介绍详解
2020/12/12 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
shell程序中如何注释
2012/02/17 面试题
《小池塘》教学反思
2014/02/28 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
小学入学感言
2015/08/01 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL