PROJECT 002の社内ポータルでは、同じ種類の投稿を作るたびに、日付と時間帯を確認し、決まった形式のタイトルを入力していました。1回は短くても、毎回同じ判断と入力を繰り返します。
この作業をWordPressへ任せるとき、最初から投稿全体を自動化するのではなく、タイトル生成から始めました。この記事では、人が入力する部分と機械的に決められる部分を分け、小さく自動化した判断をまとめます。
繰り返している操作を一つずつ分ける
変更前は、通常の投稿画面を開き、日付と時間帯を判断し、タイトルを入力し、カテゴリーを選び、同じ投稿がないか確認して公開していました。
この流れを一つの「投稿作業」として見ると、全部を自動化したくなります。しかし、工程ごとに見ると、機械的に決められるものと、人が選ぶ必要があるものが混ざっていました。
| 工程 | 今回の扱い | 理由 |
|---|---|---|
| 投稿先を選ぶ | 人が選ぶ | 何を記録するかは利用者が決める |
| 日付と昼夜を決める | WordPress | 時刻と運用ルールから決められる |
| タイトルを入力する | WordPress | 形式が固定されている |
| 同名投稿を確認する | WordPress | 同じ条件で検索できる |
| 本文を書く | 人が行う | 記録する内容は毎回異なる |
この表を作ると、自動化の対象は「投稿する人の判断を奪わず、同じ形式を繰り返している部分」だと整理できました。
最初にタイトル生成を選んだ理由
対象の投稿では、タイトルを「日付+昼または夜」という形式でそろえていました。自由な文章を考える場所ではなく、現在時刻と決めた境界から同じ答えを出せる部分です。
タイトルは投稿一覧や検索結果にも表示されます。入力ゆれがあると、同じ日の記録を探すときや、重複を確認するときにも影響します。操作を一つ減らすだけでなく、後の整理にも使えるため、最初の自動化に向いていました。
一方、本文まで自動で作ると、その日の実際の内容を誰が確認するのかという別の問題が生まれます。今回は形式が決まったタイトルだけに範囲を絞りました。
入力値ではなく運用ルールから生成する
タイトルは、利用者に日付や昼夜を選ばせるのではなく、WordPressに設定された現在時刻から作ります。実際に使った区切りは次のとおりです。
- 8時10分以上、20時10分未満:当日の日付+「昼」
- 20時10分以上:当日の日付+「夜」
- 0時以上、8時10分未満:前日の日付+「夜」
生成されるタイトルは「2026年9月16日(夜)」のような形です。利用者が入力するのはタイトルではなく、どのカテゴリーへ記録を作るかという操作だけになりました。
画面の入口と投稿処理を分ける
社内ポータルのHOMEには、対象カテゴリーごとに投稿ボタンを置きました。利用者は投稿先を見てボタンを押します。ボタン側は対象カテゴリーの情報を渡し、WordPress側が権限と送信内容を確認して投稿を作ります。
画面側の入口はfront-page.php、時刻判定・タイトル生成・重複確認・投稿登録はfunctions.phpへ分けました。見た目を作る処理と、投稿を作る処理を分けたことで、運用ルールを直す場所を追いやすくしています。
ボタンは投稿権限を持つ利用者だけに表示し、送信後もWordPress側で権限を確認します。操作を短くしても、投稿できる人の範囲は広げませんでした。
小さく始めると運用上の境界が見える
最初の実装では、昼と夜は判定できましたが、日付には常にカレンダー上の当日を使っていました。そのため、午前1時に作った夜の記録も新しい日付になりました。
実際の運用では、0時から8時10分未満は前日から続く夜として扱います。そこで、この時間帯だけ日付を1日前へ戻すように修正しました。
コード上の「日付が変わる時刻」と、仕事上の「1日が切り替わる時刻」は同じとは限りません。タイトル生成だけを先に動かしたことで、この違いを小さい範囲で確認できました。
タイトル生成から重複確認へ広げる
タイトルが同じ形式で作られるようになると、次に同じカテゴリーへ同名の投稿がないかを確認できます。投稿前に重複を調べ、見つかった場合は新しい投稿を作らず、利用者へ結果を表示するようにしました。
重複した投稿を自動で削除したり、既存の記事を上書きしたりはしません。必要な記録を仕組みが勝手に失わせないため、「作成を止めて知らせる」までに留めています。
タイトル生成を先に整えたことで、同一条件の確認も安定しました。一つの自動化を、次の処理の入力として使えた形です。
自動化した結果を画面で確認する
実装後は、ボタンを押せる人、作られたタイトル、設定されたカテゴリー、投稿者、公開状態を確認しました。重複時には、新しい投稿が増えていないことも確認します。
- 投稿権限のある利用者だけにボタンが表示される
- 選んだカテゴリーへ投稿が作られる
- 8時10分と20時10分で昼夜が切り替わる
- 深夜帯は前日の日付になる
- 同一カテゴリーの同名投稿は増えない
自動化は、ボタンを押せたことではなく、保存された結果まで見て完了としました。
人が判断する部分を残して自動化する
今回WordPressへ任せたのは、現在時刻の確認、日付と昼夜の決定、タイトル生成、カテゴリー設定、重複確認です。どの記録を作るか、本文に何を書くか、内容が正しいかは人に残しました。
投稿作業の全体を一度に置き換えず、形式が決まったタイトルから始める。小さく動かしたことで、深夜の日付という運用上の条件を見つけ、重複確認へ安全に範囲を広げられました。
実際の制作過程と画面構成は、PROJECT 002 STEP 08「社内ポータルの作業を自動化する」にまとめています。ここで作った小さな自動化が、その後の業務フローへつながりました。