查詢字符串指的是鏈接中後邊的問號後的查詢語句,格式為 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