2010-10-11 45 views
0

我正在開發我的第一個WordPress插件,並且我有一行刪除條目。我必須使用查詢字符串參數來傳入動作和對象ID。我的代碼是:Wordpress插件開發:發送查詢字符串參數

$pageText .= '<td><a href="'.$_SERVER['REQUEST_URI'].'?useraction=delete&domainid='.$file.'">Delete</a></td></tr>'; 

這會創建一個'刪除'鏈接並填充這兩個參數。問題是,Wordpress給了我一個「你沒有足夠的權限訪問這個頁面。」用於傳入查詢字符串中的變量。

有誰知道如何在插件中正確傳遞變量?

回答

1

這會創建一個'刪除'鏈接並填充這兩個參數。問題是,Wordpress給了我一個「你沒有足夠的權限訪問這個頁面。」用於傳入查詢字符串中的變量。

我不認爲這是問題所在。我寧願打賭,通過這種方式構建URL,您將放棄其他請求參數(即而不是保留在REQUEST_URI中),您需要再次添加。要重新建立完整的查詢字符串,最徹底的方法是使用http_build_query()

$link = $_SERVER['REQUEST_URI']."?". 
     http_build_query(
      Array('useraction' => 'delete', 'domainid' => $file) 
      + $_GET); 

$pageText .= '<td><a href="'$link">Delete</a></td></tr>'; 

的http_build_query(這是一個有點難以閱讀)融合了您的網址參數的數組,而現有的$ _GET數組在一起轉換成適當的查詢字符串。

+0

原來你是對的。謝謝您的幫助! – adamturtle 2010-10-12 02:10:52

0

Pekka, 這裏的問題是,如果有人不斷刪除,你會得到巨大的URL。我正在做一個類似的「刪除」參數:

http://mydomain.org/wp-admin/admin.php?page=my_plugin&remove=2160735755&page=my_plugin&remove=2160735973&page=my_plugin 

你如何「清理」查詢?