2012-01-25 95 views
0

假設您有一個使用wp_parse_args()構建的數組。在Wordpress中是否有內置的方法來使用所述的數組創建一個url,或者我將不得不訴諸自定義函數?通過解析的參數創建URL

+0

你能提供的「說」陣列的例子嗎? – Josh

回答

2

PHP有儲存卡,在功能轉換陣列查詢字符串:http_build_query

下面是一個例子:

$arr = array('name' => 'Eric', 'age' => 23, 'sex' => 'M'); 
$query = http_build_query($arr); // 'name=Eric&age=23&sex=M' 
$url = 'http://example.com/?'.$query; 
+0

看起來夠簡單!感謝您的參考。 – Steve

+0

@Steve:沒問題。很高興我能幫上忙。 :-) –

1

據我所知,你沒有像WP那樣的特定功能。 不過,我想你可以使用此代碼解決您的問題,並得到當前的URL(包括參數):

global $wp; 
$current_url = add_query_arg($wp->query_string, '', home_url($wp->request)); 

請注意,您可以代替'參數,如果需要的話,甚至添加自己的參數。

如果由於某種原因,代碼不符合您的要求,回答你的問題可能是這樣的:

$args = wp_parse_args(); 
$str_params = ''; 
foreach($args as $key => $val) { 
    $str_params .= ($str == '') ? "?" : "&"; 
    $str_params .= $key . "=" . $val; 
} 
$current_url = home_url($wp->request) . $str_params; 
+0

這就是我最終不得不去做的事情;在foreach中構建URL。看起來有一個PHP構建查詢,但我不知道。查看選定的答案。 – Steve