将查询字符串添加到插件URL

时间:2011-04-15 作者:mike

我正在创建一个插件,该插件位于http://localhost/test/wp-admin/options-general.php?page=my-plugin

我正在尝试将查询字符串添加到此页面,以便可以在我的插件中使用,例如http://localhost/test/wp-admin/options-general.php?page=my-plugin?myVar=cool

问题是,这会提示wordpress显示“您没有足够的权限访问此页面”页

如何将查询字符串添加到插件URL?这有文件记录吗?

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

当您不知道查询字符串是否已启动时,可以使用add_query_arg它知道如何应对,并添加了“?“或”&“标记(需要哪一个)到查询字符串。

根据流行需求更新我添加了一些来自法典的示例:

Using get_permalink:

由于get\\u permalink()返回一个完整的URL,所以当您想向帖子页面添加变量时,可以使用它。

//  This would output whatever the URL to post ID 9 is, with \'hello=there\' appended with either ? or &, depending on what\'s needed
echo add_query_arg( \'hello\', \'there\', get_permalink(9) );

more general:

假设我们在WordPress的URL上"http://blog.example.com/client/?s=word"...

//  This would output \'/client/?s=word&foo=bar\'
echo add_query_arg( \'foo\', \'bar\' );

//  This would output \'/client/?s=word&foo=bar&baz=tiny\'
$arr_params = array ( \'foo\' => \'bar\', \'baz\' => \'tiny\' );
echo add_query_arg( $arr_params );
或者,如果要与您拥有的任何链接一起使用,您可以传递链接uri:

//say your link is: http://wordpress.stackexchange.com/questions/14827/
//then use:

echo add_query_arg( \'hello\', \'world\',\'http://wordpress.stackexchange.com/questions/14827/\');
获取http://wordpress.stackexchange.com/questions/14827/?hello=world

Example plugin page URL with extra query args:

$query_args = array( \'page\' => \'your-plugin-page\', \'foo\' => \'bar\' );
echo add_query_arg( $query_args, admin_url( \'/options-general.php\' ) )

// outputs
// http://example.com/wp-admin/options-general.php?page=your-plugin-page&foo=bar

结束

相关推荐

GPL and plugins

插件开发中心说:“您的插件必须与GPLv2兼容。”。但我发现Topsy插件在GPLv3下。http://www.gnu.org/licenses/rms-why-gplv3.html 声明GPLv2和GPLv3不兼容。那么这应该被允许吗?我想使用Topsy插件中的一些代码。那么,我应该在GPLv2或GPLv3下发布插件吗??