私はユーザーテーブルを見ていてスーパー管理者(ネットワーク管理者パネルへのアクセス権があります)とネットワークサイトへの管理者が同じwp_capabilities
とa:1:{s:13:"administrator";b:1;}
を持っていて、そして両方のwp_user_level
が10
であることに気づきました。
だから、私は疑問に思っていた スーパー管理者と管理者を区別するデータベースの値は何ですか? ネットワーク管理者レベルに関連するusermetaがもう表示されません。
以下を介してスーパー管理者機能を管理者に割り当てる適切な方法は何ですか。
サイト管理者は、一連のユーザー名としてサイトオプションに保存されます。
たとえば、MySQLWorkbenchでSQLを使用すると、次のようなクエリを実行できます。
SELECT * FROM wp_sitemeta where meta_key='site_admins';
直列化されたPHP配列を取り戻すため。ユーザー名とユーザーIDを追加してこの値を変更すると、サイト管理者になります。
誰がサイト管理者であるかを確認するだけの場合は、次の機能があります。
get_site_admins();
is_super_admin();
マルチサイトではなく単一のサイトにいる場合、delete_users機能を持つユーザーはスーパー管理者と見なされます。
MultiSiteデータベースをチェックしたところ、wp_sitemetaテーブルにスーパー管理者と管理者を区別する2つのエントリがあることがわかりました。
admin_user_idとsite_admins