详解WordPress中给链接添加查询字符串的方法

yipeiwu_com6年前PHP代码库

查询字符串指的是链接中后边的问号后的查询语句,格式为 key=value,多个查询语句用 & 符号分开。add_query_arg() 函数就是 WordPress 提供的一个方便的函数,可以帮你给一个链接添加一个或者多个查询语句。

20151218154909432.png (958×120)

有人会问,添加查询字符串直接在链接后边手动追加不就可以了吗?这样有时候可行,但链接如果本身就有查询字符串就会造成格式错误的问题,而且也不利于 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, '//www.jb51.net' );

第二种用法:

echo add_query_arg( array( 'id' => 123 ), '//www.jb51.net' );

两个的结果都是 //www.jb51.net?id=123

其它特殊情况:

echo add_query_arg( array( 'id' => 123 ), '//www.jb51.net?query=post' );////www.jb51.net?query=post&id=123
echo add_query_arg( array( 'id' => 123, 'cat' => 'themes' ), '//www.jb51.net?query=post' );////www.jb51.net?query=post&id=123&cat=themes
echo add_query_arg( array( 'id' => 123, 'cat' => 'themes', 'query' => 'page' ), '//www.jb51.net?query=post' );////www.jb51.net?query=page&id=123&cat=themes

例子

此函数位于:wp-includes/functions.php

相关文章

php str_pad() 将字符串填充成指定长度的字符串

/** * 将字符串填充成指定长度的字符串(多字节安全) * @param string $str 指定被填充的字符串 * @param int $len 指定被填充的字符串的长度,如果...

php接口技术实例详解

本文实例讲述了php接口技术。分享给大家供大家参考,具体如下: 1.接口是一种特殊的抽象类,为什么这么说呢?如果一个抽象类中所有的方法都是抽象方法,那么我们就换一种称呼,称为“接口”。...

PHP学习笔记之字符串编码的转换和判断

复制代码 代码如下:iconv('GBK', 'UTF-8//IGNORE', '【宜配屋www.yipeiwu.com】'); // 将字符串由 GBK 编码转换为 UTF-8 编码...

PHP实现bitmap位图排序与求交集的方法

本文实例讲述了PHP实现bitmap位图排序求交集的方法。分享给大家供大家参考,具体如下: 初始化一串全为0的二进制; 现有一串无序的整数数组; 如果整数x在这个整数数组当中,就将二进制...

在PHP中使用curl_init函数的说明

复制代码 代码如下: $ch = curl_init(); $c_url = 'http://www.baidu.com'; $c_url_data = "product_&type="...