カテゴリー制限をかける
一般公開とログイン後公開と非公開、この3パターンをカテゴリー制限で実現するプラグインとして、「Home Categories」と「Allow Categories」を使用していますが、「Allow Categories」で制限をかけると、メディアライブラリに何も表示されないトラブルが!
「Allow Categories」は閲覧を許可されたカテゴリー毎にデータベースから記事を読み込んで表示する仕掛けですが、その際、記事のみを対象としていた(post_type = posts)ために発生した問題でした。記事の他に、添付ファイル(post_type = attachment)も読み込む設定に変更して無事解決したはずです。例によってしばらくは様子見ですがw
「Allow Categories」って検索でもヒットするので、使っている人いると思うんだけど、管理者以外メディアライブラリに何も表示されない仕様って不便じゃないのかな?管理者が一人で、一方的に公開するだけなら特に問題にはならないとは思うけど、、、それより交換日記ってもはや死語?
本来は、固定ページを対象に含めるかどうかの判定に使うフィールドですが、このサイトでは固定ページは使用していないので、そのフィールドをそのまま流用します。固定ページが必要な場合は、メディアファイル(attachment)用のコードを追加します。
if ($pages_public || Allow_Category::allow_loggedIn()) { $includepages = " OR $wpdb->posts.post_type = 'attachment'"; }
「Allow Categories」の設定で、固定ページも含む、にチェックが入っていると、以下のコードが追加され、SQL文にメディアファイル(attachment)を読み込む行が追加される仕組みです。
$where .= " AND ($wpdb->posts.ID IN ($out_posts)$draftsbyauthor$includepages)";