前提・実現したいこと
WordPressの特権管理者でない管理者にもユーザーの管理をさせたいので、create_users
やedit_users
などの権限を付与したいです。
発生している問題・エラーメッセージ
get_role('administrator')->add_cap('create_users')
を行っているのにもかかわらず、ユーザー一覧の上の方では「既存のユーザーを追加」しか表示されず、また、作成ページでも「既存のユーザーを追加」しかできません。新規のユーザーを追加することができません。
edit_users
やdelete_users
でも同様にリンクが表示されません。
該当のソースコード
php
1 if(current_user_can('administrator') && !(current_user_can('create_users') && current_user_can('edit_users') && current_user_can('delete_users'))){ 2 $current_user = get_role('administrator'); 3 $current_user->add_cap('create_users'); 4 $current_user->add_cap('edit_users'); 5 $current_user->add_cap('delete_users'); 6 }
これをfunctions.php
に記入しています。
試したこと
上を簡略化して
php
1add_action('init', function() { 2 get_role('administrator')->add_cap('create_users'); 3});
としても同様でした。また、
php
1add_action('init', function() { 2 get_role('administrator')->add_cap('create_users'); 3 var_dump(current_user_can('create_users')); 4});
として、特権管理者でない管理者でアクセスするとbool(false)
と表示されたので、create_users
が間違っているみたいなことはないと思います。
デフォルトのWordPressをマルチサイト化しただけのところでやっても同様でした。
補足情報(FW/ツールのバージョンなど)
MAMP 5.2(351)
PHP7.2.10
MySQL5.7.23
Apache2.2.34
macOS Mojave 10.14.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/27 12:33