「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
カスタムフィールドの日付データを書式づけて出力するプラグイン(不具合修正&MT5対応)
カスタムフィールドの日付データを書式づけて出力するプラグイン'(CustomFieldDate)に対し、不具合のご指摘をいただきました。
その不具合を修正し、さらにMovable Type 5以降にも対応させましたので、公開します。
1.動作環境
このプラグインは、Movable Type 4.1x以降で動作するはずです。
こちらでは、Movable Type 4.13とMovable Type 5.1RC4で動作を確認しました。
2.旧版の削除
旧版のプラグインをお使いの方は、Movable Typeのpluginsディレクトリから旧版を削除しておいてください。
3.プラグインのインストール
プラグインは以下からダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードしたファイルを解凍すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのディレクトリにアップロードします。
4.使い方
このプラグインをインストールすると、以下の10個のテンプレートタグが追加されます。
テンプレートタグ | 対応するオブジェクト | Movable Type 4.1x~4.2x | Movable Type 5.0以降 |
---|---|---|---|
MTEntryCustomFieldDate | ブログ記事 | ○ | ○ |
MTPageCustomFieldDate | ウェブページ | ○ | ○ |
MTCategoryCustomFieldDate | カテゴリ | ○ | ○ |
MTFolderCustomFieldDate | フォルダ | ○ | ○ |
MTAuthorCustomFieldDate | ユーザー | ○ | ○ |
MTBlogCustomFieldDate | ブログ | × | ○ |
MTWebsiteCustomFieldDate | ウェブサイト | × | ○ |
MTAssetCustomFieldDate | アイテム | × | ○ |
MTCommentCustomFieldDate | コメント | × | ○ |
MTTemplateCustomFieldDate | テンプレート | × | ○ |
これらのテンプレートタグは、以下のような書き方をします。
<$mt:XXXCustomFieldDate field="フィールドのベースネーム" format="書式指定文字" default="年月日時分秒">
「フィールドのベースネーム」には、カスタムフィールドの設定のページで、「ベースネーム」の欄に設定したベースネームを指定します。
また、defaultモディファイアには、カスタムフィールドにデータが入っていない時のデフォルト値を、14桁の数値で指定します(年4桁、月/日/時/分/秒2桁)。
例えば、デフォルト値を2011年1月2日12時34分56秒にしたい場合、「default="20110102123456"」とします。
なお、defaultモディファイアを指定していない場合、カスタムフィールドにデータが入っていないと、「フィールドXXXが存在しません」のようなエラーが表示されます。
5.利用例
例えば、ブログ記事に日付型のフィールドを1つ追加しているとします。
また、そのフィールドのベースネームが「datefield」であるとします。
この場合、このフィールドの日付を「○○○○年□□月△△日」の書式で出力するには、以下のように書きます。
<$mt:EntryCustomFieldDate field="datefield" format="%Y年%m月%d日"$>