WordPress管理画面のユーザープロフィールで、不要な項目を非表示にする方法をご紹介いたします。
ユーザープロフィールの項目自体を無効化するわけではなく、jQueryやCSSを使って非表示にしています。
WordPress管理画面でユーザープロフィールの不要な項目を非表示にする方法
jQueryを使ってユーザープロフィールの項目を非表示にする方法とCSSを使う方法の2パターンをご紹介いたします。
jQueryを使ってユーザープロフィールの不要な項目を非表示にする方法
functions.phpに以下を追加します。
function user_profile_hide_script( $hook ) { $script = <<<SCRIPT jQuery(function($) { jQuery('#your-profile .user-rich-editing-wrap').hide(); //ビジュアルエディター jQuery('#your-profile .user-syntax-highlighting-wrap').hide(); //シンタックスハイライト jQuery('#your-profile .user-admin-color-wrap').hide(); //管理画面の配色 jQuery('#your-profile .user-comment-shortcuts-wrap').hide(); //キーボードショートカット jQuery('#your-profile .show-admin-bar').hide(); //ツールバー jQuery('#your-profile .user-language-wrap').hide(); //言語 jQuery('#your-profile .user-user-login-wrap').hide(); //ユーザー名 jQuery('#your-profile .user-first-name-wrap').hide(); //名 jQuery('#your-profile .user-last-name-wrap').hide(); //姓 jQuery('#your-profile .user-nickname-wrap').hide(); //ニックネーム jQuery('#your-profile .user-display-name-wrap').hide(); //ブログ上の表示名 jQuery('#your-profile .user-email-wrap').hide(); //メールアドレス jQuery('#your-profile .user-url-wrap').hide(); //サイト jQuery('#your-profile .user-aim-wrap').hide(); //AIM jQuery('#your-profile .user-yim-wrap').hide(); //Yahoo IM jQuery('#your-profile .user-jabber-wrap').hide(); //Jabber / Google Talk jQuery('#your-profile .user-googleplus-wrap').hide(); //Google+ jQuery('#your-profile .user-description-wrap').hide(); //プロフィール情報 jQuery('#your-profile .user-profile-picture').hide(); //プロフィール写真 jQuery('#your-profile .user-pass1-wrap').hide(); //新しいパスワード jQuery('#your-profile .user-sessions-wrap').hide(); //セッション }); SCRIPT; wp_add_inline_script( 'jquery-core', $script ); } add_action( 'admin_enqueue_scripts', 'user_profile_hide_script' );
admin_enqueue_scriptsを使って、管理画面のヘッダーにスクリプトを追加しています。
表示しておきたい項目の部分は削除してください。
CSSを使ってユーザープロフィールの不要な項目を非表示にする方法
functions.phpに以下を追加します。
function user_profile_hide_style() { echo '<style> #your-profile .user-rich-editing-wrap, /* ビジュアルエディター */ #your-profile .user-syntax-highlighting-wrap, /* シンタックスハイライト */ #your-profile .user-admin-color-wrap, /* 管理画面の配色 */ #your-profile .user-comment-shortcuts-wrap, /* キーボードショートカット */ #your-profile .show-admin-bar, /* ツールバー */ #your-profile .user-language-wrap, /* 言語 */ #your-profile .user-user-login-wrap, /* ユーザー名 */ #your-profile .user-first-name-wrap, /* 名 */ #your-profile .user-last-name-wrap, /* 姓 */ #your-profile .user-nickname-wrap, /* ニックネーム */ #your-profile .user-display-name-wrap, /* ブログ上の表示名 */ #your-profile .user-email-wrap, /* メールアドレス */ #your-profile .user-url-wrap, /* サイト */ #your-profile .user-aim-wrap, /* AIM */ #your-profile .user-yim-wrap, /* Yahoo IM */ #your-profile .user-jabber-wrap, /* Jabber / Google Talk */ #your-profile .user-googleplus-wrap, /* Google+ */ #your-profile .user-description-wrap, /* プロフィール情報 */ #your-profile .user-profile-picture, /* プロフィール写真 */ #your-profile .user-pass1-wrap, /* 新しいパスワード */ #your-profile .user-sessions-wrap /* セッション */ { display: none; } </style>'.PHP_EOL; } add_action('admin_print_styles', 'user_profile_hide_style');
こちらもadmin_print_stylesを使って、管理画面のヘッダーにスタイルを追加しています。
jQueryの場合と同様に、表示しておきたい項目の部分は削除してください。
あとがき
jQueryを使う場合もCSSを使う場合も、やっていることはほぼ変わりません。プロフィール項目のクラスを指定し、hide()やdisplay:none;で非表示にしているだけです。
不要な項目を非表示にして、プロフィール編集画面をスッキリさせたい時は、ぜひ参考にしていただければと思います。