月間アーカイブの量が増えてきたので、ページとして独立させてみようかな、と考えたのが事の始まり。
まずアーカイブのページをどのように作るのがいいのかと調べてみる。
ぼんやりしたイメージだと、エントリー内でphpを走らせられるプラグインを入れているから
wp_get_archives('type=monthly')
を書き出させればいいのかしらね?なんて事思ってた。
でもどうやらページには、ページテンプレートというモノがあって、ページ毎に別々のテンプレートを選択してページを作成出来るそうだ。
今読み込まれてるのはpage.phpで、サーバーを見ると他にもarchives.phpをアップしてある。
しかし何故だか判らないけれど、うちのWordPressには[ページ] – [新規作成]の下のほうにあるという
ページテンプレート選択プルダウンが無い。あるぇ?
こんな投稿を見つけた。
WordPress › フォーラム » ページにテンプレートを適用させることはできなくなったのでしょうか
ページの投稿画面にあったページのテンプレートを選択するプルダウン・メニューがなくなってしまいました
下のほうにありませんか?
ページの作成のテキストエリアの下の「詳細オプション」の下のほうですが。ありました。
と思いましたら、テーマを wp.Vicuna Ext. 1.50 に戻したところ、再び消えてしまいました。解決しました。テンプレートの .php ファイルを UTF-8 以外の文字コードで保存していたため、読み込めなかったようです。
fmfm文字コードですか、なるほど。
utf-8で保存してるハズなのに開き直すとshift-jisに戻ってしまう事があるのは何故だろう。
とりあえずutf-8に変換してarchives.phpをアップしてみた。
だがしかし新規追加画面にはテンプレートを選択するプルダウンなどどこにも見当たらない。
仕方がないので一度下書き保存してみる。
そこでクイック編集を選択したら、一応ページテンプレート選択プルダウンが現れた。
が、何回見てもデフォルトテンプレートしか選べない。
原因を見つけた。
WordPressページテンプレートを作ってみよう
ファイルの先頭に以下のように書き込みましょう。<?php /* Template Name: マイページ */ ?>
(注) テンプレートファイルは UTF-8 BOMなしで保存してください。それ以外で保存するとエラーが出たり文字化けしたりします。
(terapadならUTF-8NがBOMなし)
archives.phpにはTemplate Name: Archivesの記述があったけど
page.phpには無かったので追加してみたら、二つとも認識されました。
その後、好奇心からpage.phpのTemplate Name: を削除して再アップしてみたんだけど、
テンプレート選択プルダウンは残っててarchives.phpだけ選べるようになってた。
最初と同じ状態に戻っただけなのに、なぜだろう?
テンプレート関係のリンク
使用すべきでないファイル名テーマの作成 – WordPress Codex 日本語版
[text]style.css
index.php
comments.php
comments-popup.php
home.php
single.php
page.php
category.php
author.php
date.php
archive.php
search.php
404.php[/text]
テンプレート階層 – WordPress Codex 日本語版
どのテンプレートがどんな優先順位で表示されるのかの説明。
コメント