查询字符串指的是链接中后边的问号后的查询语句,格式为 key=value,多个查询语句用 & 符号分开。add_query_arg() 函数就是 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, 'http://www.jb51.net' );
第二种用法:
echo add_query_arg( array( 'id' => 123 ), 'http://www.jb51.net' );
两个的结果都是 http://www.jb51.net?id=123
其它特殊情况:
echo add_query_arg( array( 'id' => 123 ), 'http://www.jb51.net?query=post' );//http://www.jb51.net?query=post&id=123 echo add_query_arg( array( 'id' => 123, 'cat' => 'themes' ), 'http://www.jb51.net?query=post' );//http://www.jb51.net?query=post&id=123&cat=themes echo add_query_arg( array( 'id' => 123, 'cat' => 'themes', 'query' => 'page' ), 'http://www.jb51.net?query=post' );//http://www.jb51.net?query=page&id=123&cat=themes
例子
此函数位于:wp-includes/functions.php