Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

WordPressで管理権限が一切ないユーザーを作りたい

弊社のコーポレイトサイトをWordPressでリニューアル作業中です。

その中で、「ある投稿カテゴリーの記事だけ、ログイン認証を付けたい」という要望がありました。要は、弊社のお取引様だけが閲覧できる記事を作って、その中で販促に関する情報を公開しようという狙いです。なので、WordPressに管理権限のないユーザーを作って記事だけを見ることが出来る権限のユーザーを作れないか、と。

投稿のカテゴリに対する権限チェックはsingle.phpとかarchive.phpとかあの辺をいじってログイン画面にリダイレクトさせる処理を書きました。こんなかんじですね。

<?php
$cate = get_the_category();
$cat = $cate[0];
if($cat->slug === "member" && is_user_logged_in() === false) {
   auth_redirect(); 
}

これをファイルの頭に追記すれば、記事のスラッグがmemberの場合はログイン必須にできるので、プラグインとか探すより簡単なのでそーゆー処理を入れました。functions.phpとかでもっとスマートに出来るかもしれないけど・・・。

で、WordPressに管理権限のないユーザーを作るのは、一旦ユーザーを作ったあとユーザー編集で「このサイトの管理権限なし」みたいな項目が選べるので、それを選択して更新するだけだった。デフォルトで用意されていて、とても助かった!