PROJECT 002 — 社内ポータルサイトをWordPressで作る。
STEP 06 / POSTS & COMMENTS
STEP 05では、社内ポータルを使う人をWordPressへ登録し、操作できる範囲と社内での所属を分けて整理しました。
利用者がログインできても、情報を読むだけでは日々の共有は進みません。新しい情報を残し、その内容について補足や質問をやり取りできる場所が必要です。
そこでSTEP 06では、WordPressの投稿とコメントを組み合わせました。社内で発生した情報を投稿として残し、必要なやり取りも同じページへ積み重ねる仕組みを作ります。
WordPressの投稿を情報共有の単位にする
WordPressの「投稿」は、タイトルと本文を持つ一つの記事です。ブログでは新しい記事を書くために使いますが、今回は社内で発生する情報を一件ずつ残す単位として使いました。
投稿には作成者、公開日時、カテゴリーが記録されます。誰がいつ共有し、どの種類の情報なのかをWordPressの標準機能で整理できます。投稿ごとに固有のページができるため、その情報を後から開き直すこともできます。
専用のデータベースを最初から作るのではなく、まずはWordPressが持つ仕組みを社内情報へ置き換えて使うことにしました。
HOMEからすぐ投稿できる入口を作る
情報を共有するたびに管理画面を開き、投稿を追加し、カテゴリーを選ぶ流れでは、操作が分かりにくくなります。そこでHOMEのカテゴリー欄に投稿ボタンを置きました。
投稿権限を持つ利用者がボタンを押すと、そのカテゴリーへ新しい投稿が作られます。投稿者にはログイン中の利用者が入り、コメントを受け付ける状態で公開される流れです。
入口の表示はテーマのfront-page.php、投稿を作る処理はfunctions.phpへ実装しました。画面側では「どこへ投稿するか」を選び、処理側ではカテゴリー、投稿者、コメント設定をそろえてWordPressへ登録します。
HOMEのカテゴリー ↓ 投稿ボタン ↓ タイトル・カテゴリー・投稿者を設定 ↓ 投稿を公開 ↓ コメントと返信を追加
利用者が毎回判断する項目を減らし、HOMEから共有を始められるようにしたことが、この投稿入口の目的です。
日付と勤務帯からタイトルを自動で付ける
投稿のタイトルには日付と勤務帯を使う運用がありました。毎回同じ形式を手入力すると、表記の違いや日付の間違いが起きます。そこで、投稿した時刻からタイトルを自動生成する処理をfunctions.phpへ追加しました。
- 8時10分から20時10分までは、その日の日付と「昼」
- 20時10分から翌日8時10分までは「夜」
- 0時から8時10分までは、勤務が始まった前日の日付と「夜」
深夜0時を過ぎるとカレンダー上の日付は変わりますが、夜の勤務は前日から続いています。当初の処理ではこの境界が合わなかったため、0時から朝までの投稿は前日の日付になるように直しました。
自動化では入力を減らすだけでなく、日付が変わる境界を実際の運用に合わせる必要がありました。
同じタイトルの投稿が重複する問題を防ぐ
タイトルを自動で付けると、同じカテゴリーで同じ勤務帯の投稿ボタンをもう一度押したとき、同じタイトルが作られる可能性があります。
そこで、投稿を作る前に同じカテゴリー内のタイトルを確認し、すでに存在する場合は新しい投稿を作らず、HOMEへエラーを表示するようにしました。意図しない重複を黙って増やしたり、既存の投稿を上書きしたりしないためです。
投稿を簡単にするほど、同じ操作が繰り返された場合の扱いも必要になります。自動タイトルと重複確認は、セットで用意する機能になりました。
コメントで情報の続きも同じ場所へ残す
投稿した情報には、後から補足、質問、対応結果が加わることがあります。それらを別の投稿へ分けると、元の情報との関係が見えにくくなります。
そこで、ログインした利用者が投稿ページへコメントを書けるようにしました。HOMEの投稿一覧にもコメント件数と「コメントを書く」入口を置き、読み終えた後だけでなく、一覧からもやり取りへ移動できます。
コメントは、投稿に紐づく短いメッセージです。投稿を情報の本体、コメントをその後のやり取りとして分けることで、何について話しているのかを同じページで確認できます。
返信を階層で見せる
コメントが増えると、どの発言への返事なのか分からなくなります。WordPressのスレッド返信を使い、元のコメントの下へ返信が入るようにしました。スレッドは、コメントとその返信を親子関係でまとめる表示です。
返信の階層に応じて背景と位置を変え、元のコメントと返信を見分けやすくしました。一方、利用者のアバター画像は外し、名前、日時、本文、操作に集中できる表示へ整えています。
コメント一覧と入力フォームはcomments.php、返信を含む各コメントの表示と操作はfunctions.phpで扱います。WordPressが持つ親コメントの情報を使い、表示だけで関係が分かるようにしました。
編集・削除と写真・PDFの添付を加える
実際に使うと、誤字を直したい、不要になったコメントを削除したい、文章だけでは伝わりにくい情報を添付したいという要望が出ました。
コメントを書いた本人または管理者が編集・削除できるようにし、ほかの利用者が勝手に変更できないよう権限を確認します。返信、編集、削除の操作は同じ並びにそろえ、どこから操作するかを分かりやすくしました。
コメントには写真とPDFも添付できるようにしました。画像はコメント内で内容を確認でき、PDFはファイル名から開けます。添付ファイルはWordPressのメディアとして保存し、コメントとの関係をコメント情報へ記録しています。
ここで扱うのは、コメントへ資料を添える基本機能までです。業務ごとの専用機能については、後続のSTEPで必要になった段階の記録へ残します。
同じカテゴリーの前後へ移動できるようにする
投稿を読んだ後に、同じ種類の一つ前または次の情報へ進めるよう、同カテゴリーの前後ナビゲーションを追加しました。
前後の投稿タイトルを表示し、コメント一覧の上と投稿フォームの下から移動できます。STEP 04ではサイト全体の移動を整えましたが、ここでは一件の投稿を読み終えた後、関連する時系列へ続けて移動することに絞っています。
投稿とコメントの流れを確認する
実装後は、実際の利用手順に沿って次の点を確認しました。
- HOMEのボタンから、想定したカテゴリー・投稿者・タイトルで投稿される
- 深夜から朝の投稿では、夜の勤務を開始した日付になる
- 同じカテゴリーに同じタイトルがある場合は、重複投稿を作らずエラーになる
- ログインした利用者がコメントと返信を投稿でき、階層が分かる
- コメントを書いた本人と管理者だけが編集・削除できる
- 写真とPDFを添付し、投稿ページから確認できる
- 同じカテゴリーの前後の投稿へ移動できる
投稿を作るだけでなく、その後のコメント、返信、修正、添付、次の情報への移動まで通して確認し、情報共有の流れが一つのページで続く状態を完成としました。
投稿とコメントを作って分かったこと
WordPressの投稿は、ブログ記事だけでなく、社内で発生した情報を残す単位にも使えました。カテゴリー、投稿者、日時という標準の情報が、社内ポータルでもそのまま役立ちます。
コメントを投稿へ紐づけると、情報とその後のやり取りが離れません。返信を階層で見せ、編集・削除・添付を追加することで、読むだけのページから、利用者が情報を更新していく場所へ変わりました。
一方、自動化には例外があります。日付が変わる深夜帯や同じタイトルの重複は、実際の操作で初めて見えた問題でした。入力を減らす処理には、運用上の境界と失敗時の表示も必要です。
最初から業務専用の機能をすべて作るのではなく、投稿とコメントから始め、使いながら必要な操作を足したことで、WordPressの標準機能を土台に社内ポータルを育てられました。
次は必要な情報を探せるようにする
利用者が情報を投稿し、その内容についてコメントでやり取りできるようになりました。社内ポータルは、情報を見るだけのサイトから、日々使う共有の場所へ進みました。
ただし、投稿とコメントが増えるほど、過去の情報を見つけるのは難しくなります。STEP 07では、投稿とコメントから必要な情報をすぐ探せる検索機能を作ります。
← STEP 05「社内ポータルのユーザーと権限を整理する。WordPressをみんなで使えるようにする。」
PROJECT 002の記事一覧を見る
NEXT → STEP 07「社内ポータルに検索を作る。増えた情報から必要なものを探せるようにする。」