我的插件基本上是一个链接显示页面,例如,如果你想显示一个包含其他网站链接的页面。
在wp-admin中,左侧栏中的菜单项添加了以下代码:
function bls_add_menu_page() {
add_menu_page('Custom Links', 'Custom Links', 'manage_options',
'customlinks', 'bsl_admin_page', '', 15);
}
添加新链接后,我想在admin中重定向到我的插件主页。点击我的插件菜单链接时的URL是:
localhost/wp-admin/admin.php?page=customlinks
如何在Worpdress中获取该URL?目前我只是这样做:
wp_redirect('/wp-admin/admin.php?page=customlinks');
但我希望有更好的方法来获取我的插件管理员网址?
答案 0 :(得分:26)
您可以使用admin_url
函数获取admin.php
的具体网址:
admin_url('admin.php'); # http(s)://localhost/wp-admin/admin.php
该功能会根据您的Wordpress配置为您选择正确的sheme(http / https),因此您无需关心它。对于管理员的路径也是如此。您需要指定的唯一内容是文件名(admin.php
)。
在您的具体示例中,您添加页面 query-info part:
$url = admin_url('admin.php?page=customlinks');
wp_redirect($url);
答案 1 :(得分:9)
菜单页面或选项页面的URL具有'page'参数(在add_menu_page()或add_options_page()中定义的页面slug)。您始终可以从$ _GET ['page'] param获取当前页面,因此选项页面的URL为:
admin_url( "options-general.php?page=".$_GET["page"] )
,菜单页面的URL(实际上它也适用于选项页面)是:
admin_url( "admin.php?page=".$_GET["page"] )