「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
リアルタイム再構築プラグイン(MT4/5対応版・その2)
リアルタイム再構築プラグイン(MT4/5対応版)で追加されるタグと、その利用例を紹介します。
なお、昨日アップロードしたものに、デバッグ用のログを出力する処理が残っていました。
2007年9月6日午前8時30分までにダウンロードされた方は、お手数ですが再度ダウンロードしていただき、lib/RealtimeRebuild.pmを差し替えてくださいますようお願いします。
1.MTRealtimeRebuildLinkタグ
テンプレートをリアルタイム再構築する際のURLを出力するタグです。基本的な書き方は以下のようになります。
<$MTRealtimeRebuildLink tmpl_name="再構築するテンプレートの名前"$>
<$MTRealtimeRebuildLink tmpl_name="再構築するテンプレートの名前" tmpl_type="テンプレートの種類"$>
バージョン1.61/1.71では、tmpl_typeモディファイアでテンプレートの種類を指定することができます。
テンプレートのタイプを指定する文字列は以下の通りです。
また、tmpl_typeモディファイアを省略した場合、「tmpl_type="custom"」と指定したのと同じになります。
テンプレートのタイプ | 文字列 |
---|---|
インデックス | index |
ブログ記事リストアーカイブ | archive |
ブログ記事アーカイブ | individual |
ウェブページ | page |
モジュール | custom |
ウィジェット | widget |
たとえば、テンプレートの中に以下のようなaタグを入れるとします。
このリンクをクリックすると、メインページがその場で再構築され、そのページが表示されます。
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ"$>">メインページ</a>
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ" tmpl_type="index"$>">メインページ</a>
また、BlogをPHP化している場合、リアルタイムに再構築したテンプレートを、include文でページに組み込むこともできます。
たとえば、「ランダムエントリー」というテンプレートモジュールがある場合、以下のようにすると、そのテンプレートをリアルタイムに再構築して、include文の箇所に組み込むことができます。
<?php include('<$MTRealtimeRebuildLink tmpl_name="ランダムエントリー"$>'); ?>
<?php include('<$MTRealtimeRebuildLink tmpl_name="ランダムエントリー" tmpl_type="custom"$>'); ?>
「ajax="1"」というアトリビュートを付加すると、テンプレートをAjaxで読み込める形に再構築します。
具体的には、文字コードをutf-8にし、出力の先頭にBOMを付加します。
また、「context="1"」というアトリビュートを付加すると、以下の表のように、再構築対象のテンプレートを、状況に応じてアーカイブ・テンプレートとみなして再構築します。
状況 | アーカイブテンプレート |
---|---|
MTCategories/MTSubCategoriesタグのコンテナの中 カテゴリーアーカイブテンプレートの中 | カテゴリーアーカイブテンプレート |
MTArchiveListタグのコンテナの中 日付アーカイブテンプレートの中 | 日付アーカイブテンプレート |
MTEntriesタグのコンテナの中 ブログ記事アーカイブテンプレートの中 | ブログ記事アーカイブテンプレート |
さらに、任意のアトリビュートを付加すると、その値をリアルタイム再構築のCGIのパラメータとして渡すこともできます。
例えば、「mode="new"」というアトリビュートを付加すると、リアルタイム再構築のCGIのパラメータに「&mode=new」が付加されます。
MTRealtimeRebuildPHPLinkタグ
MTRealtimeRebuildLinkタグとほぼ同様ですが、CGIの代わりにキャッシュ処理用のPHPを呼び出します。
MTRealtimeRebuildLinkタグと同じアトリビュートを指定することができます。
ただし、単にこのタグに変えるだけでは、キャッシュ機能は使えません。
キャッシュ機能の使い方は、後日解説します。
MTRealtimeRebuildCGIPathタグ
リアルタイム再構築を行うCGIのURLを出力します。
「http://MTのディレクトリ/plugins/RealtimeRebuild/mt-realtime-rebuild.cgi」のような値になります。
MTRealtimeRebuildPHPPathタグ
キャッシュ処理を行うPHPのURLを出力します。
「http://Blogのディレクトリ/mt-realtime-rebuild.php」のような値になります。
MTRealtimeRebuildQueryParamタグ
MTRealtimeRebuildLinkタグの出力のうち、CGIに渡すパラメータの部分(「?」から後」だけを出力します。
MTRealtimeRebuildLinkタグと同じアトリビュートを指定することができます。
blog_idモディファイア
バージョン1.71では、以下のそれぞれのテンプレートタグで、blog_idモディファイアを指定できるようになりました。
このモディファイアで、再構築対象テンプレートのブログ(またはウェブサイト)のIDを指定することができます。
- MTRealtimeRebuildLink
- MTRealtimeRebuildPHPLink
- MTRealtimeRebuildQueryParam