【问题标题】:Wordpress Plugin Development: send query string parametersWordpress 插件开发:发送查询字符串参数
【发布时间】:2010-10-11 22:38:42
【问题描述】:
我正在开发我的第一个 Wordpress 插件,我有一行删除了一个条目。我必须使用查询字符串参数来传递操作和对象 ID。我的代码是:
$pageText .= '<td><a href="'.$_SERVER['REQUEST_URI'].'?useraction=delete&domainid='.$file.'">Delete</a></td></tr>';
这将创建一个“删除”链接并填充两个参数。问题是,Wordpress 给了我“您没有足够的权限访问此页面”。用于在查询字符串中传入一个变量。
有谁知道如何在插件中正确传递变量?
【问题讨论】:
标签:
wordpress
plugins
query-string
【解决方案1】:
这将创建一个“删除”链接并填充两个参数。问题是,Wordpress 给了我“您没有足够的权限访问此页面”。用于在查询字符串中传入一个变量。
我认为这不是问题所在。我宁愿打赌,通过这种方式构建 URL,您将删除需要再次添加的其他请求参数(not 保留在 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 数组合并为一个适当的查询字符串。
【解决方案2】:
佩卡,
这里的问题是,如果有人继续删除,您将获得巨大的 URL。我正在使用“删除”参数做类似的事情:
http://mydomain.org/wp-admin/admin.php?page=my_plugin&remove=2160735755&page=my_plugin&remove=2160735973&page=my_plugin
你如何“清理”查询?