「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
複数のカテゴリのどれかに一致するかどうかを調べる
MTQに「mt:IfCategoryでのカテゴリー複数指定」という質問がありました。
これまではプラグインで複数カテゴリを判別できていたのに、MT6にしてから動作しなくなったとのことです。
プラグインを修正することも考えられますが、Movable Typeの標準の機能だけでも実現できますので、その方法を紹介します。
Movable Typeには「MTIf」というテンプレートタグがあり、変数に対して各種の条件判断を行うことができます。
また、MTIfタグの「test」というモディファイアを使うと、Perlの条件判断の書き方をすることができます。
今回の質問の例も、testモディファイアで処理することができます。
以下のような手順になります。
- カテゴリ名(MTCategoryLabelタグ)を、いったん変数に代入します。
- MTIfタグにtestモディファイアを指定して、変数の値(=カテゴリ名)を正規表現で調べます。
例えば、「オススメ」か「イチオシ」のカテゴリであるかどうかを判断するには、以下のような書き方をします。
<$mt:CategoryLabel setvar="cat_label"$> <mt:If test="$cat_label =~ /オススメ|イチオシ/"> 「オススメ」または「イチオシ」カテゴリの場合に出力する内容 <mt:Else> 上記以外のカテゴリの場合に出力する内容 </mt:If>
また、「オススメ」と「イチオシ」のカテゴリでないことを判断したい場合は、以下のような書き方をします。
<$mt:CategoryLabel setvar="cat_label"$> <mt:If test="$cat_label !~ /オススメ|イチオシ/"> 「オススメ」「イチオシ」以外のカテゴリ場合に出力する内容 <mt:Else> 「オススメ」または「イチオシ」カテゴリの場合に出力する内容 </mt:If>