「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
AnotherCustomFieldsプラグインをダイナミック対応にする(その1)
拙作のAnotherCustomFieldsプラグインを、ダイナミックパブリッシングおよびDynamicMTMLに対応させて欲しいという要望をいただいています。
そこで、対応に至るまでの流れとして、以下の事柄を紹介していきます。
- ダイナミックパブリッシング(およびDynamicMTML)の起動時に、プラグインごとの初期化処理を行う
- PHPでconfig.yamlの内容を読む
- 動的にテンプレートタグを追加する
今日は、ダイナミックパブリッシングの起動時に、プラグインごとの初期化処理を行う方法を解説します。
1.PHPファイルの設置
AnotherCustomFieldsプラグインをダイナミックパブリッシング等に対応させるには、ダイナミックパブリッシング等の起動時に、動的にテンプレートタグを追加します。
そこで、ダイナミックパブリッシング等の起動時に、処理を入れることが必要になります。
ダイナミックパブリッシング等の起動時に、プラグインごとの初期化処理を行うには、以下の図のように、プラグインごとのディレクトリ→「php」ディレクトリの中に、「init.○○○.php」のようなファイル名のPHPを設置し、その中に処理を書きます(○○○は任意)。
MTのディレクトリ └ pluginsディレクトリ └ プラグインごとのディレクトリ ├ libディレクトリ(Perlのコードを入れるディレクトリ) ├ phpディレクトリ │ └ init.○○○.phpファイル └ config.yamlファイル
AnotherCustomFieldsプラグインでは、「init.AnotherCustomFields.php」というファイルを設置することにします。
2.DynamicMTMLオブジェクトの取得
AnotherCustomFieldsプラグインのダイナミック対応の中で、DynamicMTMLの機能を利用します。
そこで、init.AnotherCustomFields.phpの中で、DynamicMTMLのオブジェクトを取得します。
DynamicMTMLの本体は、「DynamicMTML」というクラスのオブジェクトになっています。
また、DynamicMTMLオブジェクトは、「$app」という名前のグローバル変数になっています。
したがって、init.AnotherCustomFields.phpでDynamicMTMLオブジェクトを参照するには、「global $app;」の文を入れます。
