<span class="new-txt">New!</span>管理者は、公開・予約・非公開の全ての記事を表示<br>一般ユーザーは、公開済みの記事だけ表示 | OFFのパソコン日記

New!管理者は、公開・予約・非公開の全ての記事を表示
一般ユーザーは、公開済みの記事だけ表示

これまで予約記事は、投稿一覧内のプレビューでは表示されるものの、実際のサイトでレイアウトや文章が確認でないため、管理者は、公開・予約・非公開の全ての記事を表示できるように変更しました。

全体の動作概要

基本的な考え方

■ 管理者は、公開・予約・非公開の全ての記事を表示
■ 一般ユーザーは、公開済みの記事だけ表示

1.記事の状態

状態
公開(publish) 現在、一般公開記事
予約(future) 将来公開記事
非公開(private)一般非公開記事

2.管理者と一般ユーザーで見える範囲を変える

管理者かどうか確認

管理者の場合
公開記事
予約記事
非公開記事

すべて表示

一般ユーザーの場合
公開記事

表示

予約記事

表示しない

非公開記事

表示しない

3.トップページやカテゴリーでの動作

管理者の場合
公開記事
予約記事
非公開記事

すべて表示

一般ユーザーの場合
公開記事

表示

予約記事

表示しない

非公開記事

表示しない

4.Cocoonのショートコード new_list も同じ動作

5.予約記事を直接開いた場合

管理者の場合
URLを直接開く

予約記事を表示

公開前の記事を表示

一般ユーザーの場合
URLを直接開く

予約記事

404(ページが存在しない)

URLを知っているだけでは、一般ユーザーは公開前の記事を見ることができない

6.予約投稿の便利性

トップページ
カテゴリー
ショートコード new_list
などに、その予約記事が表示される

実際のサイトでレイアウトや文章を確認でる

7.非公開記事は確認用表示

8.コード全体の役割

① 管理者かどうか判断

② 管理者なら
公開・予約・非公開を表示

③ Cocoonの new_list にも
同じルールを適用

④ 予約記事を直接開いた場合も
管理者だけ閲覧可能

🔵 管理者

┌──────────────┐
│ 公開記事 │ ○
│ 予約投稿 │ ○
│ 非公開記事 │ ○
└──────────────┘
🟢 一般ユーザー

┌──────────────┐
│ 公開記事 │ ○
│ 予約投稿 │ ×
│ 非公開記事 │ ×
└──────────────┘