在WordPress管理部分,如何链接到为插件创建的子菜单页面?

时间:2010-12-22 作者:racl101

因此,我正在尝试创建WordPress插件,并使用提供的功能创建了一些菜单页:

add_submenu_page(\'my_plugin_menu\', \'Edit record page\', \'Edit record page\', \'manage_options\', \'edit_record_page\', array(&$this, \'display_edit_record_page\');
当我转到页面时,我注意到浏览器地址栏上的内容如下:

http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page
我想做的是能够链接这个页面,但我发现我必须硬编码链接,因为没有更好的方法来做,我正在开发一个网站。因此,我想知道如何动态生成我在浏览器上看到的链接,以便在将此插件代码复制到生产服务器上时可以正常工作。也就是说,是否有一个WordPress函数可以生成创建子菜单页面的链接部分。

page=edit_record_page
此外,如果要将查询字符串附加到链接,是否只需手动添加即可,如下所示:

http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page&rec_id=1
或者有没有合适的WordPress功能来实现这一点?

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

admin_url() 获取正确的管理页面URL(和network_admin_url() 获取网络管理页面URL)

或者,您可以使用add_query_arg() 要使用关联数组将参数附加到URL,请执行以下操作:

$page       = \'edit_record_page\';
$rec_id     = 1;
$record_url = add_query_arg(compact(\'page\', \'rec_id\'), admin_url(\'admin.php\'));

SO网友:matt

<a href="admin.php?page=edit_record_page">Link Text</a>

and

<a href="admin.php?page=edit_record_page&rec_id=1">Link Text</a>

结束

相关推荐

Stop underlining image links

在我的小部件栏上,我有一个超链接的图像。问题是CSS强调了这一点。如何删除下划线?更新:刚刚注意到这是导致下划线的原因:} .entry a, .secondaryColumn a, #commentsContainer h3 a, .commentlist .comment-author a { border-bottom: 1px solid #ddd; color: #3c6c92; font-weight: bold;