你的方法可以说是错误的。一个人不应该使用add_menu_page
对于外部链接,因为该函数不是为此目的创建的。添加菜单页面在管理区域中添加一个页面menu_slug
作为第四个论点。
如果我们看看add_menu_page
/dev ref
source,我们可以注意到,无论我们在函数中传递的URL是通过什么plugin_basename
/ dev ref
它规范化并替换路径,为我们提供相对于插件目录的路径。
相反,你可以把它挂到管理栏上,我认为这是放置外部链接的正确位置(如果这只是目的的话)
function wpse243214_user_manual($wp_admin_bar) {
$wp_admin_bar->add_menu( array(
//\'parent\' => \'wpse-parent-id\', // parent if any
\'id\' => \'wpse243214_usermanual\',
\'title\' => __(\'User Manual\'),
\'href\' => \'http://docs.\'.basename(esc_url(home_url())),
) );
}
//change priority(15) accordingly
add_action( \'admin_bar_menu\', \'wpse243214_user_manual\', 15 );
这样我们就可以
还请注意,我使用了
basename
对于
home_url
否则,我们将获得一个带有http或https方案的链接(
http://www.example.com
).