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ユーザーのユーザー名を返す方法を知っている人はいますか?