誤って管理者ロールを選択したくありません。
それでSettings -> General -> New User Default Role
からそれを削除する方法はありますか?
さて、これはトリッキーに見えますが、私はそれが可能だと思います。
user-new.php
ファイルは、ロールのリストを出力するためにwp_dropdown_roles()
を呼び出します。wp_dropdown_roles()
関数は、出力するロールのリストを取得するためにget_editable_roles()
を呼び出します。get_editable_roles()
関数はフィルタeditable_roles
を持っています。そのため、現在のページがeditable_roles
である場合はuser-new.php
からadministrator
を設定解除するように、$editable_roles
用のフィルタを追加できるはずです。
私のfunctions.phpファイルのコードを教えてもらえれば最高です。
これはまったくテストされていませんが、正しい方向へあなたを導いてくれるはずです。私は仮定 _ $editable_roles
はユーザーロールの配列です。 array( 'subscriber', 'author', 'editor', 'administrator' )
、しかし私は確認していません。
<?php
function wpse_40897_filter_get_editable_roles_for_new_user( $editable_roles ) {
global $pagenow;
if ( 'user-new.php' == $pagenow ) {
unset( $editable_roles['administrator'] );
}
return $editable_roles;
}
add_filter( 'editable_roles', 'wpse_40897_filter_get_editable_roles_for_new_user' );
?>
警告:これはターンキーコードではなく、単に例コードです。必要な場所に移動するのに慣れていない場合は、コピーパスタに使用することはお勧めしません。