「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグインβ版(その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>
