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;で非表示にしているだけです。
不要な項目を非表示にして、プロフィール編集画面をスッキリさせたい時は、ぜひ参考にしていただければと思います。

