SkillMemo Archives

mt 変数を判別その1

カレントカテゴリを判別 <mt:If name="category_archive">/*カテゴリアーカイブかどうかを判別*/ <mt:SetVarBlock name="category_name"><mt:CategoryLabel></mt:SetVarBlock> /* 'category_name'に現在のカテゴリを代入 */ </mt:If> <mt:TopLevelCategories>/*トップレベルカテゴリ一覧を表示*/ <mt:SetVarBlock name="top_category"><mt:CategoryLabel></mt:SetVarBlock> /* 'top_category'にカテゴリを代入*/ <mt:If name="category_name" eq="$top_category">/* 'category_name' と 'top_category' を照合。eqの方の「$」を忘れないこと。*/ <li class="current">/* 真ならばカレント表示 */ <mt:Else> <li>/* 偽なら通常表示 */ </mt:If> /* カテゴリリンクとカテゴリ名 */ <xmp><a href="<mt:CategoryArchiveLink>"><mt:CategoryLabel> (<mt:CategoryCount>)</a> </mt:TopLevelCategories>

<mt:SubCategories>/*サブカテゴリ一覧 後はトップレベルカテゴリと大体同じ*/ <mt:SetVarBlock name="sub_category"><mt:CategoryLabel></mt:SetVarBlock> <mt:If name="category_name" eq="$sub_category"> <li class="sub current"> <mt:Else> <li class="sub"> </mt:If> <a href="<mt:CategoryArchiveLink>"><mt:CategoryLabel> (<mt:CategoryCount>)</a> </mt:SubCategories>

いつも忘れるのでメモ。

SkillMemo by koji nishida - 2014/02/04 07:25 (Tue)

mt ページ種別の判定

トップページ

<mt:if name="main_index"></mt:if>

インデックスページ

<mt:if name="main_template"></mt:if>

個別記事

<mt:if name="entry_template"></mt:if>

ウェブページ

<mt:if name="page_templat"></mt:if>

アーカイブページ

<mt:if name="datebased_archive"></mt:if>

コメントプレビューページ

<mt:if name="comment_preview_template"></mt:if>

コメントエラーページ

<mt:if name="comment_error_template"></mt:if>

検索結果ページ

<mt:if name="search_results_template"></mt:if>

SkillMemo by koji nishida - 2014/02/04 07:11 (Tue)

WordPress 日付を英語表記に

[wp-includes/general-template.php] を修正

[アーカイブの見出し日付]
修正前
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
修正後
$text = sprintf(__('%1$s, %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);

[カレンダーの見出し日付]
修正前
$calendar_caption = _x('%1$s %2$s', 'calendar caption');
修正後
$calendar_caption = _x('%1$s, %2$s', 'calendar caption');

双方「%1$s %2$s」の間に「,」を入れて「%1$s, %2$s」とするだけ。

他は[wp-content/languages/ja.po]を[Poedit]で編集し、[ja.mo]を書き出し、アップ。
Poeditダウンロード : http://www.poedit.net/download.php

SkillMemo by koji nishida - 2011/12/01 09:14 (Thu)

特定のカテゴリの記事を全て表示させ、一番古い記事のみ指示を変える。

<mt:Categories> <mt:IfCategory name="特定のカテゴリ"> <mt:Entries> <mt:IfIsDescendant parent="特定のカテゴリ"> <mt:If name="__last__"> 一番古い記事にする指示 <mt:Else> その他の記事にする指示 </mt:If> </mt:IfIsDescendant> </mt:Entries> </mt:IfCategory> </mt:Categories>

「Loopタグによる配列の取得」 <mt:Loop name="配列変数名"> ************* </mt:Loop>

使用できる特殊変数

__value__ 配列の値
__first__ 初回の繰り返しであれば1
__last__ 最後の繰り返しであれば1
__odd__ 奇数回の繰り返しであれば1
__even__ 偶数回の繰り返しであれば1
__counter__ 繰り返し回数

SkillMemo by koji nishida - 2011/11/25 01:40 (Fri)

MT Entry(記事)の順番によって、違う指示を出す方法

<mt:CounterIfMod value="3" mod="0"> <div> </mt:CounterIfMod> <$mt:CounterPlus$> 本文 <mt:CounterIfMod value="3" mod="0"> </div> </mt:CounterIfMod> <mt:If name="__last__"> <mt:CounterIfMod value="3" mod="0"> <mt:Else> </div> </mt:CounterIfMod> </mt:If> エムロジック放課後プロジェクト様からプラグインをダウンロード。
上記の出力結果(HTML)は記事数が8個の時、 <div> 本文 本文 本文 </div> <div> 本文 本文 本文 </div> <div> 本文 本文 </div> こんな感じになります。
MT4.1以降はプラグイン無しで出来るみたいなので、
こちら(小粋空間様)を後で調べる。

SkillMemo by koji nishida - 2011/09/22 12:20 (Thu)

MT 吐き出されたHTMLの改行を削除する方法

MTのテンプレートでは、改行などをして見やすくしておきたいけど、
吐き出されたHTMLには余分なスペースを入れないために、改行を削除したいとき。

<mt:SetVarBlock name="block"> ****** ****** ****** </mt:SetVarBlock> <mt:GetVar name="block" regex_replace="/\n/g",""> mt:SetVarBlockで該当部分を囲み、
regex_replace="入れ替えられる文字","入れ替える文字"で文字列を変換します。
今回は「改行」=「\n」を「/〜/g」で繰り返し処理して、改行コードが何も無い状態にしています。

上記の出力結果は
変換前「****** ****** ******」
変換後「******************」
となります。

他にも文字の一括変換などに使えます。

SkillMemo by koji nishida - 2011/09/22 12:02 (Thu)

MT 親カテゴリとサブカテゴリの条件分岐 (再)

先日のエントリーがCategory Archiveとかで上手くいってなかったので、修正。

親カテゴリとサブカテゴリで、表示を変えたい場合など。
親カテゴリを「Parent A」「Parent B」それぞれのサブカテゴリに「Sub 001」「Sub 002」「Sub 003」と作成したとする。
ブログ記事作成画面で「Parent A」「Sub 001」を選択し、 下記のように条件分岐を設定すると、出力結果は「Parent A Sub 001」となる。

<mt:IfIsDescendant parent="parent a"> Parent A <mt:EntryCategories> <mt:HasNoSubCategories> <mt:SetVarBlock name="cat"><$mt:CategoryLabel$></mt:SetVarBlock> <mt:if name="cat" eq="sub 001"> Sub 001 </mt:if> <mt:if name="cat" eq="sub 002"> Sub 002 </mt:if> <mt:if name="cat" eq="sub 003"> Sub 003 </mt:if> </mt:HasNoSubCategories> </mt:EntryCategories> </mt:IfIsDescendant> <mt:IfIsDescendant parent="parent b"> Parent B <mt:EntryCategories> <mt:HasNoSubCategories> <mt:SetVarBlock name="cat"><$mt:CategoryLabel$></mt:SetVarBlock> <mt:if name="cat" eq="sub 001"> Sub 001 </mt:if> <mt:if name="cat" eq="sub 002"> Sub 002 </mt:if> <mt:if name="cat" eq="sub 003"> Sub 003 </mt:if> </mt:HasNoSubCategories> </mt:EntryCategories> </mt:IfIsDescendant> mt:ElseIfを使ってないのは、カテゴリを「Parent B>Sub 001」「Parent B>Sub 002」と複数選択した時に、「Parent B Sub 001 Sub 002」と結果が反映されるようにするため。
細かい説明はまた後日。
SkillMemo by koji nishida - 2011/09/21 03:50 (Wed)
|  1  |  2  | all pages