「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
MultiBlogプラグインにブログ記事/ウェブページの削除時の再構築トリガーを追加するプラグイン
Movable Type 5でウェブサイトとブログを組み合わせてサイトを作る際に、MultiBlogプラグインの再構築トリガーを使って、ブログにブログ記事やウェブページを追加したときに、ウェブサイトのインデックステンプレートを再構築することがよくあります。
ただ、「ブログ記事やウェブページを削除した」というトリガーがないため、それらを削除したときには、ウェブサイトを手動で再構築する必要が生じます。
そこで、MultiBlogプラグインにブログ記事/ウェブページの削除時の再構築トリガーを追加するプラグインを作ってみました。
1.インストール
プラグインは以下からダウンロードします。
ダウンロードしたZipファイルを回答すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
2.再構築トリガーの設定
ブログ記事/ウェブページの削除時の再構築トリガーを設定する方法は、既存の再構築トリガーと同じです。
トリガーを作成の画面を開くと、トリガーの種類を選ぶ欄に「ブログ記事とウェブページの削除時」が出ますので、それを選びます。
3.MultiBlogプラグインの不具合?
このプラグインをテストしていたときに、MultiBlogプラグインの不具合と思しき現象を見つけました。
ウェブサイト配下に複数のブログを作成し、あるブログにブログ記事/ウェブページを追加/公開/削除したときに、別のブログを再構築するようにトリガーを作ります。
すると、トリガーが発動する場合としない場合がありました。
例えば、A/B/Cの順に3つのブログを作り、それぞれにトリガーを設定したところ、以下のような動作になりました。
作成したトリガー | 動作 |
---|---|
ブログAにトリガーを設定して、ブログB/ブログCを再構築 | 正常に動作 |
ブログBにトリガーを設定して、ブログA/ブログCを再構築 | ブログCは再構築されるが、ブログAは再構築されない |
ブログCにトリガーを設定して、ブログA/ブログBを再構築 | ブログA/ブログBとも再構築されない |
この結果からすると、古いブログにトリガーを設定して、それ以後に作ったブログを再構築することはできるようです。
一方、新しいブログにトリガーを設定して、それ以前に作ったブログを再構築しようとすると、動作しないようです。
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください
すずき
ありがとうございます。
色々と探していたのですが、
ブログ記事を公開取り消しにした際にトリガを引くというのは難しいのでしょうか。
それがあればさらに素敵です。
壱からすずきへの返信
>すずきさん
こんにちは。
公開取り消し時についてですが、個々のブログ記事の編集ページで公開を取り消したときには、「ブログ記事の保存時」のトリガーが効きます。
一方、ブログ記事一覧のページで、記事にチェックを入れて「ブログ記事の公開の取り消し」のアクションを実行した場合は、トリガが効きません。
後者については、MTの不具合と言えそうですが、プラグインでカバーすることも可能だと思いますので、対策を検討してみます。
すずき
>壱さん
>公開取り消し時についてですが、個々のブログ記事の編集ページで公開を取り消したときには、「ブログ記事の保存時」のトリガーが効きます。
こちらはもしかしてデフォルトで設定可能だったのですか。気づきませんでした。。
MT5のフォーラムでも、公開取り消し時のトリガについて機能追加を希望するような記事を見つけ、完全に出来ないものだと思い込んでいました。
これにて一応全て解決しました。お手数おかけしました。
本当にありがとうございました。