管理者 (通常の管理者ではなくカスタム定義のユーザー ロール) がオプション ページにアクセスし、特定のユーザー名をテキスト ボックスに入力し、送信を押して、そのユーザーに 2 番目のユーザー ロールを追加できるプラグインを作成しようとしています。 . 私はこのコードを知っています:
$user = new WP_User( null, 'username' );
$user->add_role( 'admin' );
ユーザー名が「username」のユーザーに「admin」ロールを追加します。したがって、プラグインの設定ページには、テキスト ボックスがあります。
Add an Admin: <input type="text" size="57" name="sscaur_options[txt_admin]" value="<?php echo $options['txt_admin']; ?>" />
そして最後にこれ:
function sscaur_add_admin($textbox) {
$options = get_option('sscaur_options');
$textbox = $options['txt_admin'];
$user = new WP_User( null, '{$textbox}' );
$user->add_role( 'admin' );
return $textbox;
}
私はそれが完全に間違っていることを知っていますが、それを正しくする方法がわかりません.
ユーザー ロール エディター プラグインを使用して 2 番目のユーザー ロールを追加できることはわかっていますが、これは実際の管理者にのみアクセス権を付与するようにハードコーディングされており、完全な管理者にならずに特定のユーザーにロールを追加できるようにするには、カスタム ユーザー ロールが必要です。