「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。 
Kindle本で、定価250円です。
複数種類のアーカイブページを出力する(その3)
「複数種類のアーカイブページを出力する」の第3回として、アーカイブページのファイル名を細かく指定する方法を解説します。
1.ファイル名指定文字について
アーカイブページのファイル名をカスタマイズする方法は、日本語版Movable Type 3.2のヘルプには、今のところは記載がないようです。
ただ、英語版のヘルプには記載がありますので、それを元にお話します。
アーカイブページのファイル名は、英語版のヘルプでは、「Archive File Path Specifiers」を使って指定すると書いてあります。
ここでは、これを「ファイル名指定文字」と呼ぶことにします。
ファイル名指定文字は、「%a」など、パーセントとアルファベット(一部のものでは「-」も含む)を組み合わせたものです。
アーカイブファイルが出力される際には、これらの文字がさまざまな情報に置き換わります。
日付タグのフォーマット(formatアトリビュート)で使う文字と似ていますが、同じ情報でも違う文字が使われているものがあります。
ファイル名指定文字には、以下の表のようなものがあります。
なお、以下の表はMT英語版のヘルプおよびMovable Typeのソースコードに基づいていて、動作をすべて確認したわけではありません。
| ファイル名指定文字 | 内容 | 同等のテンプレートタグ | 
|---|---|---|
| %a | エントリーの投稿者名(dirify='1'のグローバルフィルターを適用) | <$MTEntryAuthorNickname dirify='1'$> | 
| %-a | エントリーの投稿者名(dirify='-'のグローバルフィルターを適用) | <$MTEntryAuthorNickname dirify='-'$> | 
| %b | エントリーのファイル名(拡張子は除く) | <$MTEntryBasename$> | 
| %c | エントリーのカテゴリーのパス(dirify='1'のグローバルフィルターを適用) | <$MTSubCategoryPath$> | 
| %-c | エントリーのカテゴリーのパス(dirify='-'のグローバルフィルターを適用) | <$MTSubCategoryPath separator='-'$> | 
| %C | エントリーの主カテゴリー(dirify='1'のグローバルフィルターを適用) | <$MTArchiveCategory dirify='1' default=''$> | 
| %-C | エントリーの主カテゴリー(dirify='-'のグローバルフィルターを適用) | <$MTArchiveCategory dirify='-' default=''$> | 
| %d | 日(「09」など) | <$MTArchiveDate format='%d'$> | 
| %D | 曜日 | <$MTArchiveDate format='%e' trim='1'$> | 
| %e | エントリーのID(「000040」のように6桁の形式) | <$MTEntryID pad='1'$> | 
| %E | エントリーのID(「40」のようにIDのみ) | <$MTEntryID pad='0'$> | 
| %f | アーカイブのファイル名 | <$MTArchiveFile$> | 
| %F | アーカイブのファイル名(拡張子は除く) | <$MTArchiveFile extension='0'$> | 
| %h | 時(「09」など) | <$MTArchiveDate format='%H' | 
| %H | 時(「9」など) | <$MTArchiveDate format='%k' trim='1'$> | 
| %i | インデックスファイルの名前 | <$MTIndexBasename extension="1"$> | 
| %I | インデックスファイルの名前(拡張子を除く) | <$MTIndexBasename$> | 
| %j | 年の中での日の通し番号(3桁) | <$MTArchiveDate format='%j'$> | 
| %m | 月(「07」など) | <$MTArchiveDate format='%m'$> | 
| %n | 分(「07」など) | <$MTArchiveDate format='%M'$> | 
| %s | 秒(「01」など) | <$MTArchiveDate format='%S'$> | 
| %x | アーカイブファイルの拡張子 | <$MTBlogFileExtension$> | 
| %y | 年(「2005」など) | <$MTArchiveDate format='%Y'$> | 
| %Y | 年の下2桁(「05」など) | <$MTArchiveDate format='%y'$> | 
2.ファイル名指定文字の組み合わせの例
ファイル名指定文字の組み合わせ例をいくつか紹介しておきます。
例1:
2つ目の月別アーカイブページのファイル名を、「年/月/index2.html」にする場合(年は4桁、月は2桁)。
→ %y/%m/index2.html
例2:
2つ目のカテゴリーアーカイブページのファイル名を、「親カテゴリー/子カテゴリー/index2.php」にする場合。
→ %c/index2.php
例3:
エントリーアーカイブページのファイル名を、「年/月/日-時分秒.php」にする場合(年は4桁、その他は2桁)。
→ %y/%m/%d-%h%n%s.php
3.設定の手順
アーカイブファイル名を細かく指定するには、「複数種類のアーカイブページを出力する(その2)」にも書いたように、ファイル名を指定する欄で選択項目一覧の末尾にある「カスタマイズ」を選びます。
すると、その欄に文字を入力できる状態になりますので、ファイル名指定文字等を組み合わせたものを入力します。
設定が終わったら、「変更を保存」ボタンをクリックします。そして、最後にBlogを再構築します。


 
  