我的插件页面的管理员URL

Jos*_*hua 14 wordpress

我的插件基本上是一个链接显示页面,例如,如果你想显示一个包含其他网站链接的页面.

在wp-admin中,我在左侧栏中添加了一个菜单项,其中添加了以下代码:

function bls_add_menu_page() {
    add_menu_page('Custom Links', 'Custom Links', 'manage_options', 
                  'customlinks', 'bsl_admin_page', '', 15);
}
Run Code Online (Sandbox Code Playgroud)

添加新链接后,我想在admin中重定向到我的插件主页.点击我的插件菜单链接时的URL是:

localhost/wp-admin/admin.php?page=customlinks
Run Code Online (Sandbox Code Playgroud)

如何在Worpdress中获取该URL?目前我这样做:

wp_redirect('/wp-admin/admin.php?page=customlinks'); 
Run Code Online (Sandbox Code Playgroud)

但我希望有更好的方法来获取我的插件管理员URL?

hak*_*kre 26

您可以admin.php使用以下admin_url函数获取具体的URL :

admin_url('admin.php'); # http(s)://localhost/wp-admin/admin.php
Run Code Online (Sandbox Code Playgroud)

该功能根据您的Wordpress配置选择适当的sheme(http/https),因此您无需关心它.对于管理员的路径也是如此.您需要指定的唯一内容是文件名(admin.php).

在您的具体示例中,您添加页面 query-info部分:

$url = admin_url('admin.php?page=customlinks');
wp_redirect($url); 
Run Code Online (Sandbox Code Playgroud)


Dan*_*jel 10

菜单页面或选项页面的URL具有'page'参数(在add_menu_page()或add_options_page()中定义的页面slug).您始终可以从$ _GET ['page'] param获取当前页面,因此选项页面的URL为:

admin_url( "options-general.php?page=".$_GET["page"] )
Run Code Online (Sandbox Code Playgroud)

和菜单页面的URL(实际上它也适用于选项页面)是:

admin_url( "admin.php?page=".$_GET["page"] )
Run Code Online (Sandbox Code Playgroud)