在我的 WP 网站上,我有一个插件来管理我的网站付款和会员。这个插件没有任何内置的“管理员访问限制”,这意味着如果我允许某人管理员访问我的 WP 站点,他们会自动获得对这个特定插件的每个 URL 的完全且不受限制的访问权限。
该插件在管理后端的 iFrame 中加载其页面。因此,当您登录到 WP 管理区域并单击此插件时,它会在 iFrame 中加载整个 UI,并且该 UI 具有自己的菜单栏,可通向该特定插件 UI 的各个区域。例如,当您登录 WP 管理区域并单击左侧菜单栏上的此特定插件时,它会将您带到 WP 管理区域中的此 URL:
http://MySite.com/wp-admin/admin.php?page=MemberManagementPlugin
我限制对该插件某些区域的访问的想法是获取当前登录的 WP 用户的用户名并获取子框架的 URL,然后执行以下操作(伪代码):
$username-of-logged-in-wp-user = somehow get the username of the logged in wp user
$childframeurl = the url of the currently iframed page
if ($username-of-logged-in-wp-user != $a-username-i-want-to-give-full-access-to && $childframeurl == $url-i-dont-want-every-user-to-be-able-to-see)
{ $childframeurl = 'http://mysite.com/sorry-you-cant-view-this }
我将解决其余的细节,但这个想法完全取决于我能否在 WP 站点的 BACKEND 处获取登录的 WP 用户的用户名。我已经知道如何从前端获取登录的 WP 用户的用户名,可以这样完成(来自:http ://codex.wordpress.org/Function_Reference/get_currentuserinfo ):
<?php global $current_user;
get_currentuserinfo();
echo 'Username: ' . $current_user->user_login . "\n";
?>
但是,该方法不适用于管理区域中站点的后端。
那么,有人知道在 WP 站点的后端/管理区域中如何返回登录的 WP 用户的用户名吗?