add_query_arg 添加自定义查询参数生成新的 URL

文 / @UTHEME

函数功能描述

本函数的作用是为URL添加新的查询参数并获取到新的URL。使用本函数可以重建URL或者向URL添加新的查询参数,也可以获取到包含查询参数的完整URL。可以通过添加键值对或者关联数组的方式来设置查询参数的值,同时可以通过将键的值设置为false来删除URL中的查询参数。如果不指定第二或第三个参数,则函数将使用$_SERVER的值来省略旧查询或者URI。

使用说明

// 参数为单独的字符串值
add_query_arg($param1, $param2, $old_query_or_uri);

// 参数为键=>值对数组
add_query_arg(array('key1' => 'value1', ...), $old_query_or_uri);

参数

参数 数据类型 是否必需 描述 默认值
$param1 整数|字符串|数字 新的查询字符串或数组
$param2 整数|字符串|数字 新的查询字符串值,如果$param1是关联数组,此参数为原URL
$old_query_or_uri 字符串|布尔值 原查询字符串或URL $_SERVER[REQUEST_URI]

返回值

函数将返回新的URL查询字符串。

使用示例

假设当前在WordPress页面:“http://blog.example.com/client/?s=word”

// 下面将输出'/client/?s=word&foo=bar'
echo add_query_arg('foo', 'bar');

// 下面将输出'/client/?s=word&foo=bar&baz=tiny'
$arr_params = array('foo' => 'bar', 'baz' => 'tiny');
echo add_query_arg($arr_params);

在很多时候,你可能需要为当前页面添加查询参数。在这种情况下,你可以将需要修改的URL作为最后一个参数传入函数。

// 下面将输出'http://blog.example.com/2009/04/16/?hello=world'
echo add_query_arg('hello', 'world', 'http://blog.example.com/2009/04/16/');

如果你需要修改文章页面,你可以使用get_permalink()函数作为最后一个参数。

// 下面将输出带有查询字符串'?hello=there'的id为9的文章链接。
echo add_query_arg('hello', 'there', get_permalink(9));

通过关联数组,可以删除或添加查询字符串:

$query = 'http://example.com/link?foo=bar';
$new_query = add_query_arg(array('foo' => false, 'baz' => 'qux'), $query);
// 结果:http://example.com/link?baz=qux

相关函数

remove_query_arg

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。