我正在开发我的第一个Wordpress插件,我有一行删除一个条目。我必须使用查询字符串参数来传递操作和对象id。我的代码是:
$pageText .= '<td><a href="'.$_SERVER['REQUEST_URI'].'?useraction=delete&domainid='.$file.'">Delete</a></td></tr>';
这会创建一个“删除”链接并填充这两个参数。问题是,Wordpress给了我一个“你没有足够的权限来访问这个页面。”用于传入查询字符串中的变量。
有谁知道如何在插件中正确传递变量?
答案 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
如何“清理”查询?