详解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 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
php5 图片验证码实现代码
Dec 11 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
php实现事件监听与触发的方法
Nov 21 PHP
php中smarty区域循环的方法
Jun 11 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
php微信公众号开发之翻页查询
Oct 20 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
PHP 错误之引号中使用变量
2009/05/04 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
浅谈jQuery事件绑定原理
2015/01/02 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
vue组件生命周期详解
2017/11/07 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
python动态监控日志内容的示例
2014/02/16 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
上海天奕面试题笔试题
2015/04/19 面试题
重阳节登山活动方案
2014/02/03 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书