こんにちは、Ryohei(@ityryohei)です!

本記事では、WordPressで管理画面のメニュー項目のユーザーを非表示にしてプロフィールを表示する方法をご紹介しています。管理者権限のユーザーにてユーザー一覧を非表示にしたい場合に有効な方法です。

WordPressの管理画面のメニューにあるユーザーを非表示にしてプロフィールを表示したいな。良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

本記事で実現したいこと

WordPressの管理画面にあるメニュー項目のユーザーを非表示にしてユーザーのプロフィールを表示することです。

権限グループが管理者のユーザーを提供しなければいけないけど、ユーザー一覧のページは非表示にしたい!

管理画面のメニュー項目のユーザーは、権限グループが管理者以上の場合に表示される項目です。そのため特定の管理者ユーザーの管理画面にあるメニュー項目からユーザーを非表示にしたいというのが本記事の目的です。

管理画面のメニュー項目のユーザーを非表示にする

管理画面のメニュー項目のユーザーを非表示にします。下記をfunctions.phpに追加することでメニュー項目のユーザーを非表示にすることができます。

<?php

function remove_menu() {
    remove_menu_page( 'users.php' );
}
add_action( 'admin_menu', 'remove_menu', 1000 );

参考:https://developer.wordpress.org/reference/functions/remove_menu_page/

ここではメニュー項目のユーザーを非表示する処理のみを記述していますので、実際の環境に導入する場合は下記のようにログインしているユーザーの情報を取得し、ログインしているユーザーを判定してからメニューを非表示にする処理を実行するようにしてください。

function remove_menu() {

    $current_user = wp_get_current_user();

    if ($current_user->user_login === "site_admin" ) {
        remove_menu_page( 'users.php' );
    }
}
add_action( 'admin_menu', 'remove_menu', 1000 );

注意点として、上記内容はメニュー項目を非表示にしているだけとなります。そのためURLを直打ちするとユーザー一覧ページにアクセスできる状態です。内容は省略させていただきますが、上記とあわせてユーザー→プロフィールへのリダイレクトを設定することでより安全に運用いただけますのでご検討ください。

管理画面のメニュー項目にプロフィールを追加する

管理画面のメニュー項目にプロフィールを追加します。下記をfunctions.phpに追加してメニュー項目にプロフィールを追加することができます。ここではユーザーの代替メニューとしてプロフィールを追加するため、ユーザーの箇所にプロフィールのメニュー項目を表示します。

<?php

function add_menu() {
    add_menu_page( 'プロフィール', 'プロフィール', 'manage_options', 'profile.php', '', 'dashicons-admin-users', 70 );
}
add_action( 'admin_menu', 'add_menu', 1000 );

参考:https://developer.wordpress.org/reference/functions/add_menu_page/

本項でも省略していますが、事前にログインユーザーを判定してからメニュー項目を追加する処理を実行するようにしてくださいね。

最後に

本記事では権限グループが管理者のユーザーにて、メニュー項目のユーザーを非表示にしてプロフィールを表示する処理をご紹介しました。なぜこのようなことをしたのかというと、クライアントが管理者ユーザーの提供を希望されたからです。普段の制作では編集者のユーザーをお渡ししていますが、管理者ユーザーでお渡しする必要があり、メニュー項目のユーザーを非表示にしたい場合に参考にしていただければと思います!

以上、WordPressで管理画面のメニュー項目のユーザーを非表示にしてプロフィールを表示する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。