2008年9月4日木曜日

 

【WordPress】カスタマイズ~テンプレートの振り分け~

Conditional Tags - WordPress Codex 日本語版
WordPressのテンプレート切り替えは「wp-includes/template-loader.php」で行われている。
以下の関数で表示ページの判別をしている。
関数の定義は「wp-includes/query.php」。
is_home()
メインページ(ブログのホームページ)が表示されている場合。
WordPress 2.1以降では動作が異なる。
たまに利かなくなるようだ。(query_posts()の呼び出しが原因の場合はquery_posts($query_string . "");とするといいらしい)
is_front_page()
サイトのフロントページが表示されている場合。
管理画面の「設定 -> 表示設定 -> トップページの表示」で、「最新の投稿」が選択されているか、「固定ページ (以下を選択)」で現在のページが表示されている場合。
2.5以降追加された機能。
is_admin()
管理画面が表示されている場合。
is_single()
記事個別ページが表示されている場合。
is_single('14')で記事番号、is_single('Title')でタイトルが指定されたものが表示している場合。
2.5以降はis_single(array('14','Title'))と配列で複数指定可。
is_page()
「ページ」が表示されている場合。
is_single()と同様、is_page('14')でページ番号、is_page('Title')でタイトルが指定されたページの表示。
2.5以降はis_page(array('14','Title'))と複数指定可。
is_category()
カテゴリー一覧が表示されている場合。
同様に、is_category('7')is_category('Cate1')、2.5以降is_category(array('Cate1','7'))
is_tag()
タグのアーカイブページが表示されている場合。is_tag('TAG')で指定したタグのアーカイブページが表示されている場合。
2.5以降is_tag(array('TAG1','TAG2'))と記述していずれかのタグのアーカイブ。
is_author()
著者のアーカイブページが表示されている場合。同様に引数としてIDやニックネームを指定出来る。
2.5以降は複数指定できる。
is_archive()
あらゆるタイプのアーカイブページが表示されている場合。
is_search()
検索結果のページが表示されている場合。
is_404()
"HTTP 404: Not Found"エラーページが表示されている場合。
他にも判別関数はあるのでリンク先参照。is_front_page()が呼び出されてなかったので「template-loader.php」に追加した。
実際にテンプレートを呼び出しているのはget_home_template()などそれぞれで、「wp-includes/theme.php」に定義してある。

ラベル:


コメント: コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google