2

私はWordpressプラグインの作成が初めてで、まだアクションフックまたはフィルターフックの概念を理解しようとしています.

「モデレーター」のカスタム ロールを作成しました。この役割に私が望むもの:
- 特定の役割を持つユーザー (サブスクライバーなど) を担当します。
- ユーザーのパスワードを変更できます。
- 他のユーザーの役割を変更できません。

問題は次のとおりです。他のユーザーのパスワードを変更できるようにするには、モデレーターがユーザー プロファイル ページにアクセスできる必要があります。ただし、ユーザー プロファイル ページで、モデレーターは他のユーザー ロールを変更できます。wp-admin/user-edit.php を変更することで非表示にできますが、プラグインで行う方がよいと思います。では、プラグインを使用して「役割」の選択を非表示/変更するにはどうすればよいですか?

助けてくれてありがとう。

より明確にするために、私はそれに写真を添付し​​ています。 ここに画像の説明を入力

4

1 に答える 1

1

それを取り除くためのフックはありません。CSSやjQueryで解決する必要があります。

ここでは、CSSとjQueryの両方がほぼ同じように機能します。どちらかを選択するか、両方を使用できます。

current_user_can、役割/機能の設定に合わせて調整する必要があります。

フックadmin_headにはサフィックスを付けることができるため、その特定の/wp-admin/WP-PAGE.phpアドレスでのみ実行されることに注意してください。

add_action( 'admin_head-user-edit.php', 'so_13598192_remove_roles_dropbox' );

function so_13598192_remove_roles_dropbox()
{
    // Admins can edit that, exit without printing scripts
    if ( current_user_can( 'administrator' ) )
        return;
    ?>
        <style>
            label[for=role], #role
            {
                display:none;
            }
        </style>
        <script>
            jQuery(document).ready(function($)
            {     
                $('label[for=role]').parent().parent().remove();      
            });
        </script>
    <?php
}
于 2012-11-28T13:45:53.227 に答える