【问题标题】:Admin URL to my plugin's page我的插件页面的管理员 URL
【发布时间】:2013-05-23 11:42:50
【问题描述】:

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

在 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?

【问题讨论】:

  • 使用 menu_page_url( 'customlinks', true ) 在任何需要的地方回显链接。请注意 true 参数告诉回显链接,因此无需使用回显。

标签: wordpress


【解决方案1】:

您可以使用admin_url 函数获得admin.php 的具体网址:

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

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

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

$url = admin_url('admin.php?page=customlinks');
wp_redirect($url); 

【讨论】:

    【解决方案2】:

    菜单页面或选项页面的 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"] )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多