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

开发中,总是需要给 url 拼接参数,为此,WordPress 非常贴心的提供了一个函数 add_query_arg,给一个 URL 添加新的查询参数获取新的 URL。我们可以使用此功能重建 URL,或添加新的查询参数到 URL,也可以获取带查询参数的完整 URL。添加一个键值对或者一个关联数组,设置键的值为假可以出 URL 移除该查询字符串。用 $_SERVER 值省略旧的查询或 URI(第二或第三个参数)。

  1. add_query_arg( 'key', 'value', 'http://www.wuyanshuo.cn' );
  2. add_query_arg( array(
  3. 'key1' => 'value1',
  4. 'key2' => 'value2',
  5. ), 'http://www.zhuige.com' );

add_query_arg 绝不仅仅是把参数拼接到 URL 尾部,还做了很多兼容,优化,安全等工作。另外,WordPress 官方强烈建议,对返回的 url ,要使用 esc_url 进行处理。如果,我们自己拼接 url 基本不可能考虑的这么周全,所以,强烈建议使用 add_query_arg 拼接 url。

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

使用举例:

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

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

很多时候你可能发现你想使用下面的方法在你所在的当前页面添加查询参数,这中情况下,你可以使用你需要修改的 URL 作为最后一个参数。

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

因为 get_permalink() 函数返回的是一个完整的 URL,在需要修改文章页面时,你可以使用这个函数作为最后一个参数。

  1. // 下面将输出添加查询字符串:?hello=there 后的 id 为 9 的文章的链接。
  2. echo add_query_arg( 'hello', 'there', get_permalink(9) );

通过关联数组删除和添加查询字符串:

  1. $query = 'http://example.com/link?foo=bar';
  2. $new_query = add_query_arg( array('foo' => false, 'baz' => 'qux'), $query );
  3. // 结果:http://example.com/link?baz=qux
溫馨提示:

文章標題:add_query_arg 添加自定义查询参数生成新的 URL

文章連結:https://www.wuyanshuo.cn/1333.html

更新時間:2022年9月14日

1、本站所有資源均不添加推廣檔案或浮水印,壓縮包內若有廣告檔案和浮水印請勿輕易相信。

2、本站資源均為兩層壓縮,第一層7z(尾碼若為wys,請自行修改為7z)有解壓密碼; 第二層zip或cbz,無解壓密碼,可直接使用漫畫類軟件程式查看; 詳情可參攷解壓教程

3、本站大部分內容均收集於網絡! 若內容侵犯到您的權益,請發送郵件至:admin#wysacg.top我們將第一時間處理! 資源所需價格並非資源售賣價格,是收集、整理、編輯詳情以及本站運營的適當補貼,並且本站不提供任何免費技術支援。 所有資源僅限於參攷和學習,版權歸原作者所有!

给TA打赏
共{{data.count}}人
人已打赏
建站教程

WordPress文章过多导致跳转文章时加载过慢的问题优化

2022-9-14 16:58:33

建站教程

检测当前页面是否为登录界面 is_login_screen() 函数

2022-9-14 20:06:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索