昨日公開されたMovable Type 6より、日時を指定して記事・ウェブページを非公開にする「非公開日指定」機能が実装されたので、早速コーポレートサイトを想定して機能のテストを行ってみました。その結果、記事は指定の時間に非公開になったのですが、例えばウェブサイトのインデックステンプレート(=Webサイトのホーム)に表示している記事リストから非公開となった記事のタイトルやリンクが残ったままとなることに気付きました。再構築トリガーは設定してありますが、「非公開(公開終了)になった場合」というトリガーがないことに起因するものと思われます。
そこで、ToI企画様の「MultiBlogExt」プラグイン(MITライセンスのようです)を改良し、記事・ウェブページが非公開(公開終了)になった場合に再構築が行われるようにしたプラグイン「MultiBlogExt2」を作成しました。Perl・MTのプラグイン制作の知識はほぼゼロなのですが、MTのログを参考にしながら検討したところ、ひとまず意図通りに動作しております。
なお、作成に当たっては、@yuji様よりunpublish_past_entriesというコールバックの存在を教えて頂きました。また、スライド「Mtddc2013: Movable Type 6 Overview」内の解説も参考にさせて頂きました。ありがとうございます。
利用方法
- GitHubのhideki-a / mt-plugin-multiblogext2より Zipファイルをダウンロードしてください。
- /path/to/mt/pluginsにアップロードしてください。
- 本プラグインの設定はありません。MultiBlogプラグインの再構築トリガーを適宜作成してください。
元のプラグインからの変更点
- Callbacksの追加(41行目)
- サブルーチンの追加(64〜70行目)