概要
公開されたリスト投稿から適切なリストをランダムに選んで LOTD とし、1日に1回配信する。
詳細
公開されたリスト投稿 とは:
公開されたリスト投稿とは、次の条件をすべて満たす投稿(記事)。
- 投稿タイプ: list
- ステータス: 公開
適切なリスト とは:
適切なリストとは、公開されたリスト投稿のなかで次の条件をすべて満たす投稿。
- これまでにLOTDになった回数が少ない
- 多様なリストを配信させたいため。
- システム的には、LOTDとして選ばれた回数を投稿のカスタムフィールド lotd_count に保存し、最小回数のリストから選択する。
- 運営者が配信向きだと判断した
- 上記の条件を満たしていても、配信向きでないと判断したリストは配信しないようにする。
- システム的には、先の lotd_count カスタムフィールドに ‘999’ をセットして候補から除外する。
ランダムに選んで とは:
lotd_count が最も小さい投稿群からランダムに1つリストを選ぶ。ただし、LOTDとして適切かどうかを前日にチェックするため、翌日のLOTD候補を前日に決めておきたい。つまり結果はランダムに生成されるが、それはシードとして与えた日付に対して固定されていることが必要である。
以下、処理の概要。
1. まず既配信回数の最小値を求める。 公開されたリスト投稿の中で書籍から作成されているものを lotd_count カスタムフィールドの小さい順に並べ替えて、その先頭行を取得する。
2. 公開されたリスト投稿から適切なリストをランダムに選ぶ。
LOTD とは……
システム上、LOTD とは次の条件を満たす、公開されたリスト投稿。
- カスタムフィールド lotd_date が YYYYMMDD(YYYYMMDDは今日の日付)
毎日 0:01 にバッチ処理を走らせ、過去日付の lotd_date を削除したうえで、上記のロジックで選んだリストに投稿メタ lotd_dateをセットする。そしてカスタムフィールド lotd_count に保存している配信カウンタをインクリメントしておく。
1日1回配信 するには……
メールでは
毎日 6:05 にバッチ処理を走らせ、LOTD を エックスサーバーのメーリングリストに投稿する。
Feed では
WordPress の標準機能でタグごとの feed が出力されるので、lotdタグのフィードが「今日のリスト」のフィードになる。
X では
メール配信処理の後で @listfreak にポストする。