15

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

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

function bls_add_menu_page() {
    add_menu_page('Custom Links', 'Custom Links', 'manage_options', 
                  'customlinks', 'bsl_admin_page', '', 15);
}

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

localhost/wp-admin/admin.php?page=customlinks

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

wp_redirect('/wp-admin/admin.php?page=customlinks'); 

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

4

2 回答 2

29

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

admin_url('admin.php'); # http(s)://localhost/wp-admin/admin.php

该功能会根据您的 Wordpress 配置为您选择适当的 sheme (http/https),​​因此您无需关心它。与管理员的路径相同。您唯一需要指定的是文件名 ( admin.php)。

在您的具体示例中,您添加了页面查询信息部分:

$url = admin_url('admin.php?page=customlinks');
wp_redirect($url); 
于 2013-05-23T12:34:04.560 回答
11

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

admin_url( "options-general.php?page=".$_GET["page"] )

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

admin_url( "admin.php?page=".$_GET["page"] )
于 2013-05-23T15:23:16.347 回答