「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグインβ版(その4)
「カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン」の第4回目として、並び順どおりにカテゴリ/フォルダ/ブログ記事/ウェブページを出力するテンプレートタグ等を解説します。
1.MTSortedEntriesタグ
ブログ記事を並び順に沿って出力するには、「MTSortedEntries」というブロックタグを使います。
このタグは、以下のようにブログ記事を出力します。
条件 | 出力されるブログ記事 |
---|---|
|
個々のカテゴリに属するブログ記事を並び順に出力します。 |
|
どのカテゴリにも属さない記事を並び順に出力します。 |
また、MTSortedEntriesタグでは、lastnモディファイアを使って、出力する記事の数を制限することもできます。
このモディファイアを指定しない場合は、ブログ記事設定(ブログのメニューの「設定」→「ブログ記事」)の「ブログ記事の表示数」で指定した数の記事が出力されます。
また、「lastn="all"」とすると、すべての記事を出力することができます。
MTSortedEntriesタグのブロックの中では、MTEntry系のタグを使って、ブログ記事の情報を出力することができます。
2.MTSortedPagesタグ
MTSortedEntriesタグのウェブページ版です。
MTSortedEntriesタグの説明を、以下のように読み替えた動作をします。
読み替え前 | 読み替え後 |
---|---|
カテゴリ | フォルダ |
ブログ記事 | ウェブページ |
Categories | Folders |
Entries | Pages |
Entry | Page |
3.カテゴリ/フォルダの並べ替え用のテンプレートタグとsort_methodモディファイア
カテゴリとフォルダを並べ替えて出力するには、Movable Typeの標準のテンプレートタグを、それぞれ以下のように置き換えます。
Movable Typeの標準のタグ | 対応するSuperSortプラグインのタグ |
---|---|
MTTopLevelCategories | MTSortedTopLevelCategories |
MTSubCategories | MTSortedSubCategories |
MTTopLevelFolders | MTSortedTopLevelFolders |
MTSubFolders | MTSortedSubFolders |
なお、SortCatFldプラグインと同様に、MTSubCategories/MTTopLevelCategories/MTSubFolders/MTTopLevelFoldersタグに「sort_method="SortCatFld::Sort"」のモディファイアを付加することもできます。
ただし、Movable Type 5.1の最初のバージョンでは、sort_methodモディファイアに不具合があります。
特に事情がない限りは、MTSortedTopLevelCategories等のタグをお使いください。
4.例
以下の例は、ブログ内のすべての記事を、並び順のとおりに出力するものです。
インデックステンプレートを作成して以下の例を入力すると、動作を試すことができます。
<MTIgnore>カテゴリに属さないブログ記事を並び順のとおりに出力</MTIgnore> <h1>カテゴリに属さないブログ記事</h1> <ul> <MTSortedEntries lastn="all"> <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle></a>(<$MTEntryDate format="%x %X">)</li> </MTSortedEntries> </ul> <MTIgnore>各カテゴリのブログ記事を並び順のとおりに出力</MTIgnore> <MTSortedTopLevelCategories> <h1><MTParentCategories glue=":"><$MTCategoryLabel$></MTParentCategories></h1> <ul> <MTSortedEntries lastn="all"> <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle></a>(<$MTEntryDate format="%x %X">)</li> </MTSortedEntries> </ul> <MTSubCatsRecurse> </MTSortedTopLevelCategories>