Wordpress插件开发:发送查询字符串参数

时间:2010-10-11 22:38:42

标签: wordpress plugins query-string

我正在开发我的第一个Wordpress插件,我有一行删除一个条目。我必须使用查询字符串参数来传递操作和对象id。我的代码是:

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

这会创建一个“删除”链接并填充这两个参数。问题是,Wordpress给了我一个“你没有足够的权限来访问这个页面。”用于传入查询字符串中的变量。

有谁知道如何在插件中正确传递变量?

2 个答案:

答案 0 :(得分: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(它有点难以阅读)将数组与您的URL参数合并,并将现有的$ _GET数组合并为一个正确的查询字符串。

答案 1 :(得分:0)

佩卡, 这里的问题是,如果有人不断删除,你会获得巨大的URL。我正在做一些与“删除”参数相似的事情:

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

如何“清理”查询?