通常、ユーザーの追加が行える権限があるのは管理者(administrator)だけだが、編集者(editor)などにユーザーを追加する権限を与えた場合、管理者ユーザーも作成できてしまう。
そこで、編集者に与えたユーザー追加権限には「管理者」など指定した権限を選択できないようにする。
以下、function.phpに記述
コメントアウトで選択肢を選べる
ユーザー追加時の権限制御 admin/user-new.php
//ユーザー追加時に「管理者・編集者・投稿者」を選択できないようにする---------------------
function remove_role_user_new() {
if (!current_user_can('administrator')) {
?><script type="text/javascript">
jQuery(document).ready(function($){
$("option[value='administrator'").remove();//管理者
$("option[value='editor'").remove();//編集者
//$("option[value='author'").remove();//投稿者
//$("option[value='contributor'").remove();//寄稿者
//$("option[value='subscriber'").remove();//購読者
});
</script><?php }
}
add_action( 'admin_head-user-new.php', 'remove_role_user_new' );
ユーザー編集時の権限制御 admin/user-edit.php
//ユーザー編集時に「管理者・編集者・投稿者・寄稿者」を選択できないようにする--------------
function remove_role_user_edit() {
if (!current_user_can('administrator')) {
?><script type="text/javascript">
jQuery(document).ready(function($){
$("option[value='administrator'").remove();//管理者
$("option[value='editor'").remove();//編集者
$("option[value='author'").remove();//投稿者
$("option[value='contributor'").remove();//寄稿者
//$("option[value='subscriber'").remove();//購読者
});
</script><?php }
}
add_action( 'admin_head-user-edit.php', 'remove_role_user_edit' );
ダッシュボードの一般設定でデフォルトの権限グループを制御したい場合
//新規ユーザーのデフォルト権限グループ「管理者・編集者」を選択できないようにする---------
function remove_role_options_general() {
?><script type="text/javascript">
jQuery(document).ready(function($){
$("option[value='administrator'").remove();//管理者
$("option[value='editor'").remove();//編集者
//$("option[value='author'").remove();//投稿者
//$("option[value='contributor'").remove();//寄稿者
//$("option[value='subscriber'").remove();//購読者
});
</script><?php }
add_action( 'admin_head-options-general.php', 'remove_role_options_general' );