ワードプレス

ワードプレスで構築したサイトを納品するときに、しばしば利用するテクニックを紹介します。

ワードプレスの管理画面(ダッシュボード)にログインすると、通常は左側にズラリとメニューの一覧が並びます。

これらのメニューの中でも、特に「外観」「プラグイン」「設定」などは、ウェブサイトのシステムの部分に関わるので素人の方にはなるべく触れて欲しくありません。

そこで、特定のユーザーでログインしたとき以外はメニュー項目自体を非表示にしておきましょう。

プラグインを使って同様のことが可能になりますが、今回は[functions.php]を使って対応します。

以下のコードをテーマファイル内の[functions.php]に記述しましょう。

function remove_menus () {
$user = wp_get_current_user();
	if( $user-> get('user_login') !== "USER_ID") {
		remove_menu_page ('index.php'); // ダッシュボード
		remove_menu_page ('edit.php'); // 投稿
		remove_menu_page ('upload.php'); // メディア
		remove_menu_page ('edit-comments.php'); // コメント
		remove_menu_page ('themes.php'); // 外観
		remove_menu_page ('plugins.php'); // プラグイン
		remove_menu_page ('users.php'); // ユーザー
		remove_menu_page ('tools.php'); // ツール
		remove_menu_page ('options-general.php'); // 設定
	}
}
add_action('admin_menu', 'remove_menus');

上記コード内の「USER_ID」の箇所は任意のユーザーIDに書き換えてください。
ここで指定したユーザー以外はメニューが非表示になります。
もしユーザーに関係なく、常に非表示にしておきたいときは少しだけコードが簡単になります。

function remove_menus () {
	remove_menu_page ('index.php'); // ダッシュボード
	remove_menu_page ('edit.php'); // 投稿
	remove_menu_page ('upload.php'); // メディア
	remove_menu_page ('edit-comments.php'); // コメント
	remove_menu_page ('themes.php'); // 外観
	remove_menu_page ('plugins.php'); // プラグイン
	remove_menu_page ('users.php'); // ユーザー
	remove_menu_page ('tools.php'); // ツール
	remove_menu_page ('options-general.php'); // 設定
}
add_action('admin_menu', 'remove_menus');

かなり使用頻度の高いテクニックだと思います。ぜひお試しください。