「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
再構築するファイルの情報を得るプラグイン
再構築するファイルについて、以下の情報を得るプラグインを作りました。
- ファイルの元になっているテンプレートの名前
- アーカイブのタイプ
- 出力先のファイル名や、サーバー内でのパス
- ファイルの絶対URLと、「http://ドメイン」の部分を除いたURL
テンプレートの種類に応じて処理を変える時に使うなど、使い道はいろいろあるのではないかと思います。
1.動作の要件
このプラグインは、Movable Type 4以降用です。
ただし、以下の状況では使うことができません。
- システムテンプレート(検索結果やコメントプレビューなど)から動的に出力されるページの場合
- MT標準のダイナミック・パブリッシングを使う場合
- 拙作のPerl版ダイナミック・パブリッシングを使う場合
なお、MT標準のテンプレートでは、システムテンプレートでは変数system_templateが定義されるようになっています。
したがって、以下のようにタグを組めば、システムテンプレートでないときだけ、このプラグインのタグを処理することができます。
<MTUnless name="system_template"> このプラグインのタグを使う処理 </MTUnless>
2.インストール
このプラグインは、以下のアドレスからダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ファイルを解凍すると、「FileInfo」というフォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
3.追加されるテンプレートタグ
このプラグインをインストールすると、以下のテンプレートタグが追加されます。
・MTFileInfoTemplateName
ファイルの元になったテンプレートの名前を出力します。
例えば、「メインページ」のテンプレートでは、このタグの出力は「メインページ」になります。
・MTFileInfoArchiveType
以下の表のように、ファイルのアーカイブタイプを出力します。
アーカイブのタイプ | 出力される値 |
---|---|
インデックス | Index |
年別 | Yearly |
月別 | Monthly |
週別 | Weekly |
日別 | Daily |
カテゴリー | Category |
年別カテゴリー | Category-Yearly |
月別カテゴリー | Category-Monthly |
週別カテゴリー | Category-Weekly |
日別カテゴリー | Category-Daily |
ユーザー | Author |
年別ユーザー | Author-Yearly |
月別ユーザー | Author-Monthly |
週別ユーザー | Author-Weekly |
日別ユーザー | Author-Daily |
ブログ記事 | Individual |
ウェブページ | Page |
MTFileInfoTemplateNameタグとMTFileInfoArchiveTypeタグを組み合わせることで、「テンプレート名が○○で、かつアーカイブタイプが□□のときだけ何かを出力する」といったことができます。
テンプレートやアーカイブタイプに応じて、サイドバーに出力する内容を変えるようなときに、この手法を使うことができます。
例えば、テンプレート名が「ブログ記事リスト」で、アーカイブタイプがカテゴリーの時だけ何かを出力をするには、以下のように書くことができます。
<MTSetVarBlock name="fi_template_name"><$MTFileInfoTemplateName$></MTSetVarBlock> <MTSetVarBlock name="fi_archive_type"><$MTFileInfoArchiveType$></MTSetVarBlock> <MTIf name="fi_template_name" eq="ブログ記事リスト"> <MTIf name="fi_archive_type" eq="Category"> 出力する内容 </MTIf> </MTIf>
・MTFileInfoFileName
出力されたファイルの名前(ディレクトリ名を除いた部分)を出力します。
・MTFileInfoPath
出力されたファイルの、サーバー内でのフルパスを出力します。
・MTFileInfoRelativePath
インデックステンプレートでは、出力されたファイルのパスのうち、サイトパスから後の部分を出力します。
また、アーカイブテンプレートでは、出力されたファイルのパスのうち、アーカイブパスから後の部分を出力します。
・MTFileInfoLink
ファイルのURLを出力します。
・MTFileInfoRelativeURL
ファイルのURLのうち、「http://ドメイン名」を除いた部分を出力します。
例えば、URLが「http://www.foo.com/blog/index.html」の場合、「/blog/index.html」を出力します。