WordPress | 管理画面のユーザー編集ページやプロフィールページの不要な項目を非表示にする方法

ユーザー情報の編集ページの各項目のクラス名を指定して非表示にするJSのファイルを用意してアクションフックの admin_enqueue_scripts 内で wp_enqueue_script() を使ってファイルを登録します。

非表示設定するJSファイル

jQuery(document).ready(function(){
    /* 個人設定 */
    jQuery('.user-rich-editing-wrap').hide();      //ビジュアルエディター
    jQuery('.user-admin-color-wrap').hide();       //管理画面の配色
    jQuery('.user-comment-shortcuts-wrap').hide(); //キーボードショートカット
    jQuery('.user-admin-bar-front-wrap').hide();   //ツールバー
    jQuery('.user-language-wrap').hide();          //言語

    /* 名前 */
    jQuery('.user-user-login-wrap').hide();   //ユーザー名
    jQuery('.user-first-name-wrap').hide();   //名
    jQuery('.user-last-name-wrap').hide();    //姓
    jQuery('.user-nickname-wrap').hide();     //ニックネーム 
    jQuery('.user-display-name-wrap').hide(); //ブログ上の表示名

    /* 連絡先情報 */
    jQuery('.user-email-wrap').hide(); //メール 
    jQuery('.user-url-wrap').hide();   //サイト

    /* ユーザーについて */
    jQuery('.user-description-wrap').hide(); //プロフィール情報
    jQuery('.user-profile-picture').hide();  //プロフィール写真

    /* アカウント管理 */
    jQuery('.user-pass1-wrap').hide();               //新しいパスワード
    jQuery('.user-generate-reset-link-wrap').hide(); //パスワードのリセット


});

カスタマイズ用JS読み込み

/**
 * 管理者権限以外でカスタマイズ用スクリプト読み込み
 */
function custom_user_profile_script()
{
    if (!current_user_can('administrator')) {
        global $hook_suffix;
        if('profile.php' == $hook_suffix || 'user-edit.php' == $hook_suffix) {
            wp_enqueue_script('custom_user_profile_js', get_theme_file_uri().'/js/user_profile.js', array('jquery'));
        }
    }
}
add_action('admin_enqueue_scripts', 'custom_user_profile_script');

動作環境情報

"エックスサーバー" スタンダード(旧X10)
"PHP" 7.4.13
"MySQL" 5.7
"WordPress" 5.8.1

コメント

タイトルとURLをコピーしました