• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「固定ページ」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(3 版)
(様式・リンク微調整等)
10行目: 10行目:
 
===この記事内で使われている用語===
 
===この記事内で使われている用語===
 
<span id="Notation_Used_in_this_Article"></span>
 
<span id="Notation_Used_in_this_Article"></span>
* 「ページ」と普通に書かれているものは、Web上の一般的な [[Glossary#PHP|PHP]]/[[Glossary#HTML|HTML]] 文書を指します。
+
* 「ページ」と普通に書かれているものは、Web上の一般的な [[用語集#PHP|PHP]]/[[用語集#HTML|HTML]] 文書を指します。
 
* WordPressのページ機能で作成されたものについては、混乱を避けるために 「WordPressページ」または「'''ページ'''(太字)」と書いています。
 
* WordPressのページ機能で作成されたものについては、混乱を避けるために 「WordPressページ」または「'''ページ'''(太字)」と書いています。
  
34行目: 34行目:
 
* WordPressページは、投稿に比べると日時にあまり依存しません。
 
* WordPressページは、投稿に比べると日時にあまり依存しません。
 
* WordPressページは、トップレベルのページと[[#WordPressページを整理する|サブページ]]に整理することができます。
 
* WordPressページは、トップレベルのページと[[#WordPressページを整理する|サブページ]]に整理することができます。
* WordPressページでは、さまざまなテンプレートファイル、[[Template Tags| テンプレートタグ]]、PHPコードなどを含む「[[#WordPressページテンプレート|ページテンプレート]]」を使うことができます。
+
* WordPressページでは、さまざまなテンプレートファイル、[[テンプレートタグ]]、PHPコードなどを含む「[[#Page_Templates|ページテンプレート]]」を使うことができます。
  
 
===WordPressページを誤解しないために===
 
===WordPressページを誤解しないために===
47行目: 47行目:
 
==WordPressページをサイト内からリンクする==
 
==WordPressページをサイト内からリンクする==
  
WordPress では、<tt>[[Template Tags/wp_list_pages|wp_list_pages()]]</tt>という[[Template Tags|テンプレートタグ]]を使って自動的にサイト内の'''WordPressページ'''へのリンクをサイドバーなどに表示することができます。以下のように表示をカスタマイズさせたい場合は、[[Template Tags/wp_list_pages|このタグの使い方のドキュメンテーション]]を参照してください。
+
WordPress では、<tt>[[テンプレートタグ/wp_list_pages|wp_list_pages()]]</tt>という[[テンプレートタグ]]を使って自動的にサイト内の'''WordPressページ'''へのリンクをサイドバーなどに表示することができます。以下のように表示をカスタマイズさせたい場合は、[[テンプレートタグ/wp_list_pages|このタグの使い方のドキュメンテーション]]を参照してください。
  
 
*'''WordPressページ'''のリスト表示順を変更する(これをさらにカスタマイズするには、ページ作成・編集画面の「表示順」フィールドが役に立ちます)
 
*'''WordPressページ'''のリスト表示順を変更する(これをさらにカスタマイズするには、ページ作成・編集画面の「表示順」フィールドが役に立ちます)
*特定の'''WordPressページ'''をリストから[[Template Tags/wp_list_pages#Exclude Pages from List|除外する]](表示させない)
+
*特定の'''WordPressページ'''をリストから[[テンプレートタグ/wp_list_pages#Exclude Pages from List|除外する]](表示させない)
 
*どの'''WordPressページ'''をリスト内に表示するかをコントロールする(例:サブページのみを表示するなど)
 
*どの'''WordPressページ'''をリスト内に表示するかをコントロールする(例:サブページのみを表示するなど)
 
*何階層目まで表示するかをコントロールする
 
*何階層目まで表示するかをコントロールする
57行目: 57行目:
  
 
  <a title="コピーライト情報" href="wordpress/?page_id=14">Copyright 1996-2006</a>
 
  <a title="コピーライト情報" href="wordpress/?page_id=14">Copyright 1996-2006</a>
([[Using Permalinks|パーマリンク]]を設定していない場合)  
+
([[パーマリンクの使い方|パーマリンク]]を設定していない場合)  
  
 
  <a title="コピーライト情報" href="wordpress/copyright/">Copyright 1996-2006</a>
 
  <a title="コピーライト情報" href="wordpress/copyright/">Copyright 1996-2006</a>
([[Using Permalinks|パーマリンク]]を設定済みの場合)  
+
([[パーマリンクの使い方|パーマリンク]]を設定済みの場合)  
  
 
'''注''':WordPressページのパーマリンクを有効にするには、.htaccess ファイルを書き込み可能にするか、手動で更新する必要があります。
 
'''注''':WordPressページのパーマリンクを有効にするには、.htaccess ファイルを書き込み可能にするか、手動で更新する必要があります。
68行目: 68行目:
 
カテゴリーの下にサブカテゴリーを作成できるのと同じように、'''WordPressページ'''の下にサブページを置いて階層を作成することができます。
 
カテゴリーの下にサブカテゴリーを作成できるのと同じように、'''WordPressページ'''の下にサブページを置いて階層を作成することができます。
  
たとえば、WordPressを使って旅行代理店のサイトを作っているとします。旅行先の紹介として各大陸に一つの'''WordPressページ'''を作成し、それぞれの大陸に属する国の'''WordPressページ'''をその大陸のサブページとして作成するとしましょう。全体では、以下のような構成になります(カッコ内は各ページの[[Glossary#Post_Slug|投稿スラッグ]]を表しています)。
+
たとえば、WordPressを使って旅行代理店のサイトを作っているとします。旅行先の紹介として各大陸に一つの'''WordPressページ'''を作成し、それぞれの大陸に属する国の'''WordPressページ'''をその大陸のサブページとして作成するとしましょう。全体では、以下のような構成になります(カッコ内は各ページの[[用語集#Post_Slug|投稿スラッグ]]を表しています)。
  
 
*アフリカ(Africa)
 
*アフリカ(Africa)
82行目: 82行目:
 
実際にこのような構成にするには、まず親'''ページ'''となる「アフリカ」と「南米」の'''WordPressページ'''を通常通りに作成します。その後、各国の'''WordPressページ'''を作成するときに、ページ作成画面のサイドバーにある「親ページ」ドロップダウンメニューから属する大陸の'''WordPressページ'''名称を選択します。
 
実際にこのような構成にするには、まず親'''ページ'''となる「アフリカ」と「南米」の'''WordPressページ'''を通常通りに作成します。その後、各国の'''WordPressページ'''を作成するときに、ページ作成画面のサイドバーにある「親ページ」ドロップダウンメニューから属する大陸の'''WordPressページ'''名称を選択します。
  
上記の例の構成で、[[Using Permalinks|パーマリンク]]を設定済みの場合、カメルーンの'''WordPressページ'''のリンク先は以下のようになります。
+
上記の例の構成で、[[パーマリンクの使い方|パーマリンク]]を設定済みの場合、カメルーンの'''WordPressページ'''のリンク先は以下のようになります。
  
 
  <nowiki>http://example.com/africa/cameroon/</nowiki>
 
  <nowiki>http://example.com/africa/cameroon/</nowiki>
  
==Page Templates==
+
<div id="Page_Templates">
<!-- 別ページから Pages#Page Templates への直リンクがあり、この見出しを探すために本家版と見比べていたところ、この部分が抜けてヘッドラインのネストがずれていることに気づきました。原文のままの挿入で申し訳ないです。 ぼの -->
+
== ページテンプレート ==
 +
</div>
  
 
Individual Pages can be set to use a specific, custom '''Page Template''' that you create within your Theme.  This new Page Template will then override the default <tt>page.php</tt> Page Template included with your Theme.  See [[#What Template is used to Display a Particular Page?|What Template is used to Display a Particular Page?]], below, to find out exactly which Template will be used.  But read what follows first, so you understand the answer <tt>:)</tt>
 
Individual Pages can be set to use a specific, custom '''Page Template''' that you create within your Theme.  This new Page Template will then override the default <tt>page.php</tt> Page Template included with your Theme.  See [[#What Template is used to Display a Particular Page?|What Template is used to Display a Particular Page?]], below, to find out exactly which Template will be used.  But read what follows first, so you understand the answer <tt>:)</tt>
99行目: 100行目:
 
* <tt>page.php</tt> - デフォルト'''WordPressページ'''テンプレート:'''WordPressページ'''のコンテンツを表示します。
 
* <tt>page.php</tt> - デフォルト'''WordPressページ'''テンプレート:'''WordPressページ'''のコンテンツを表示します。
 
* <tt>archives.php</tt> - アーカイブページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、月別・カテゴリー別のアーカイブ一覧を表示します。
 
* <tt>archives.php</tt> - アーカイブページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、月別・カテゴリー別のアーカイブ一覧を表示します。
* <tt>links.php</tt> - リンクページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、[[Template_Tags/get_links_list | get_links_list]]タグを使ってリンクを表示します。
+
* <tt>links.php</tt> - リンクページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、[[テンプレートタグ/get_links_list | get_links_list]]タグを使ってリンクを表示します。
  
 
===WordPressページを表示する際、どのテンプレートが使われますか?===
 
===WordPressページを表示する際、どのテンプレートが使われますか?===
124行目: 125行目:
 
上記のコードは、この <tt>mypage.php</tt> というファイルが「マイページ」という名称のテンプレートであることを宣言しています。この名称は、ページ作成・編集画面でテンプレートを選択するときや、管理画面のテーマエディタで編集を行うときに表示されます。
 
上記のコードは、この <tt>mypage.php</tt> というファイルが「マイページ」という名称のテンプレートであることを宣言しています。この名称は、ページ作成・編集画面でテンプレートを選択するときや、管理画面のテーマエディタで編集を行うときに表示されます。
  
拡張子が <tt>.php</tt> であれば、ファイル名はほぼ自由に名付けられます(使用すべきでないファイル名については、[[Theme Development#Theme Template Files List|予約済みのテーマファイル名]]を参照してください。ここにある名前のファイルは、特定の目的のために使用されることになっています)。
+
拡張子が <tt>.php</tt> であれば、ファイル名はほぼ自由に名付けられます(使用すべきでないファイル名については、[[テーマの作成#Theme Template Files List|予約済みのテーマファイル名]]を参照してください。ここにある名前のファイルは、特定の目的のために使用されることになっています)。
  
上記の5行の宣言より下には [[Template Tags|テンプレートタグ]]などのコードを自由に書き込めます。そのコードにより、このテンプレートを選択した'''WordPressページ'''の表示形式が決定されます。
+
上記の5行の宣言より下には [[テンプレートタグ]]などのコードを自由に書き込めます。そのコードにより、このテンプレートを選択した'''WordPressページ'''の表示形式が決定されます。
 
<tt>page.php</tt> や <tt>index.php</tt> など既存のテンプレートの内容をコピーしてベースにしても良いでしょう。さらに、以下の例などを参考にしてページテンプレートを作成してみてください。作成したページテンプレートをテーマフォルダに置くだけで、ページ作成・編集画面にて選択できるようになります。
 
<tt>page.php</tt> や <tt>index.php</tt> など既存のテンプレートの内容をコピーしてベースにしても良いでしょう。さらに、以下の例などを参考にしてページテンプレートを作成してみてください。作成したページテンプレートをテーマフォルダに置くだけで、ページ作成・編集画面にて選択できるようになります。
 
   
 
   
222行目: 223行目:
 
一般的に、ページには静的なものと動的に生成されるものがあります。静的ページは一度作成・保存されたら同じ状態で訪問者に表示されます。一方、動的ページは訪問者がページを見ようとするたびに新しく生成されます。この場合、ページの作者は「どんなデータを表示させるか」のみを特定しておき、実際に表示されるページは作成しません。
 
一般的に、ページには静的なものと動的に生成されるものがあります。静的ページは一度作成・保存されたら同じ状態で訪問者に表示されます。一方、動的ページは訪問者がページを見ようとするたびに新しく生成されます。この場合、ページの作者は「どんなデータを表示させるか」のみを特定しておき、実際に表示されるページは作成しません。
  
WordPressでは、'''WordPressページ'''を含む大半の表示ページが動的に生成されています。投稿者が作成したコンテンツ(記事、コメント、ブログロールリンク、カテゴリー項目など)は [[Glossary#MySQL|MySQL]] データベースの中に保存されており、サイトにアクセスがあるとWordPressはデータベースに対し、現在使っている[[Using Themes|テーマ]]内の[[Theme Development#Theme Templates|テンプレート]]をもとにしてデータのリクエストを行います。
+
WordPressでは、'''WordPressページ'''を含む大半の表示ページが動的に生成されています。投稿者が作成したコンテンツ(記事、コメント、ブログロールリンク、カテゴリー項目など)は [[用語集#MySQL|MySQL]] データベースの中に保存されており、サイトにアクセスがあるとWordPressはデータベースに対し、現在使っている[[Using Themes|テーマ]]内の[[テーマの作成#Theme Templates|テンプレート]]をもとにしてデータのリクエストを行います。
  
静的ページの例としては、[[Glossary#PHP|PHP]] コードなどを含まない [[Glossary#HTML|HTML]] 文書が挙げられます。例えば、「管理者について」という100%静的なHTMLファイルを作って aboutl.html として保存し、サイト内からリンクすることもできますが、これはあまりメンテナンスしやすいとは言えません。WordPress の設定や[[Using Themes|テーマ]]内の[[Theme Development#Theme Templates|テンプレート]]に変更を加えたりした際に、その変更はHTMLファイルには自動的に加わりません。代わりに、動的な'''WordPressページ'''と的テンプレートを使うことにより、更新をスムーズに行うことができます。
+
静的ページの例としては、[[用語集#PHP|PHP]] コードなどを含まない [[用語集#HTML|HTML]] 文書が挙げられます。例えば、「管理者について」という100%静的なHTMLファイルを作って aboutl.html として保存し、サイト内からリンクすることもできますが、これはあまりメンテナンスしやすいとは言えません。WordPress の設定や[[Using Themes|テーマ]]内の[[テーマの作成#Theme Templates|テンプレート]]に変更を加えたりした際に、その変更はHTMLファイルには自動的に加わりません。代わりに、動的な'''WordPressページ'''と的テンプレートを使うことにより、更新をスムーズに行うことができます。
  
 
'''WordPressページ'''は動的に生成されているにも関わらず、この機能はよく「静的ページの作成機能」といった形で呼ばれることがあります。Webパブリッシングの分野では、「静的」と「動的」の違いは上記の説明のように区別されています。しかし、一般的な用語では、「静的」とは「変化がない状態」を指すこともあります。ブログの記事は他の新しい記事が追加されるに従ってトップページなどから消えてしまいますが、'''WordPressページ'''はサイトについて、管理者についてのページなど、常に同じ場所にあり内容にもあまり変化がないことが多いので、このような呼ばれ方をしています。
 
'''WordPressページ'''は動的に生成されているにも関わらず、この機能はよく「静的ページの作成機能」といった形で呼ばれることがあります。Webパブリッシングの分野では、「静的」と「動的」の違いは上記の説明のように区別されています。しかし、一般的な用語では、「静的」とは「変化がない状態」を指すこともあります。ブログの記事は他の新しい記事が追加されるに従ってトップページなどから消えてしまいますが、'''WordPressページ'''はサイトについて、管理者についてのページなど、常に同じ場所にあり内容にもあまり変化がないことが多いので、このような呼ばれ方をしています。
  
 
つまり、「'''WordPressページ'''には静的な情報が含まれているが、生成は動的に行われている」と言い換えることができます。このため、'''WordPressページ'''は静的・動的どちらと言っても間違いではありません。しかし、'''WordPressページ'''のコンテンツはデータベースから動的に呼び出されているので、混乱を防ぐためにこの記事内では「'''WordPressページ'''は動的なページである」としています。
 
つまり、「'''WordPressページ'''には静的な情報が含まれているが、生成は動的に行われている」と言い換えることができます。このため、'''WordPressページ'''は静的・動的どちらと言っても間違いではありません。しかし、'''WordPressページ'''のコンテンツはデータベースから動的に呼び出されているので、混乱を防ぐためにこの記事内では「'''WordPressページ'''は動的なページである」としています。
 +
 +
{{原文|Pages|29498}}
 +
 +
{{NeedTrans|[[#ページテンプレート|ページテンプレート]]の節が}}
 +
 +
{{DEFAULTSORT:へえし}}
 +
[[Category:初心者向けトピック]]
 +
[[Category:デザインとレイアウト]]
 +
[[Category:テンプレート]]
 +
 +
[[en:Pages]]

2008年3月31日 (月) 01:44時点における版

はじめに

ページ」または「WordPressページ」は投稿(ブログの記事)と似ていますが、さらにフレキシブルな使い方ができ、ブログの時系列順の外に置くことができます。ページを使って、任意の量のコンテンツを整理・管理することができます。このページ機能はバージョン1.5で追加されました。

さて、WordPressページは実際どのように動作するのでしょうか?ここでは、ページとは何かを説明し、ページを使ってできることの紹介や例を挙げてみます。

この記事内で使われている用語

  • 「ページ」と普通に書かれているものは、Web上の一般的な PHP/HTML 文書を指します。
  • WordPressのページ機能で作成されたものについては、混乱を避けるために 「WordPressページ」または「ページ(太字)」と書いています。

さらに詳しい「ページ」という用語の使い方に関する話題については、「用語について」の欄をご参照ください。

WordPressページとは?

ブログの投稿は日時に深く関わったコンテンツです。公開された特定の日時が文脈を決定します。

「WordPressページ」はブログの投稿とは異なり、管理者やサイト自体についての情報を公開するためなどに使われます。こういった情報は日時とは深い関わりがなく、いつでも読んでもらえる内容となります。例えば、ある日の朝にしたことや思ったこと(例:「今日の朝ご飯はおいしかった」)を書くのには、ブログの投稿機能を使います。WordPressページには、特定の日や時間にしばられない内容(例:「このサイトでは朝ご飯に関する話題を書いています」)を書くのに使うと良いでしょう。

もちろん、あなたの WordPress はあなたのもの。どんなふうに使ってもかまいません。WordPressページを使えば、ブログの外側に置いておきたいどんな情報もサイトに加えることができます。楽しむことを忘れずに、実験したり、想像力を働かせたりして、あなたなりの使い方を見つけてください。

たとえば、ページ機能を使ってこんなコンテンツを公開することができます。

  • コピーライトや法規に関する情報、再掲載の許可、管理人の連絡先、「管理人について」、「このサイトについて」、アクセシビリティ宣言

一般的にはWordPressページと投稿は似ていると言えるでしょう。どちらにもタイトルやコンテンツがあり、サイト表示テンプレートを使って全体のデザインやレイアウトとマッチさせることができます。しかしWordPressページには、投稿にはないユニークな機能があります。

WordPressページの簡単な説明

WordPressページとはこんなものです

  • WordPressページは、投稿に比べると日時にあまり依存しません。
  • WordPressページは、トップレベルのページとサブページに整理することができます。
  • WordPressページでは、さまざまなテンプレートファイル、テンプレートタグ、PHPコードなどを含む「ページテンプレート」を使うことができます。

WordPressページを誤解しないために

  • WordPressページは投稿とは別物です。ブログのメインページでは表示されず、カテゴリーを割り振ることもできません。
  • WordPressページは個別ファイルではありません。WordPressページのコンテンツは投稿と同じく、データベース内に保存されています。
  • ページテンプレート内にテンプレートタグやPHPコードを書くことはできますが、WordPressページのコンテンツ内に書いても動作しません(:コンテンツ内に書いたタグやPHPコードを実行したい場合、 RunPHP などのプラグインを使うと良いでしょう。投稿をフォーマットするためのプラグイン一覧も合わせてご参照ください)。

WordPressページを作成する

WordPressページを新規作成するには、まず、WordPress の管理画面にログインします。このとき使うユーザーIDに、新規ページ作成の権限が与えられていることが必要になります。ログインしたら、メニューの「投稿>ページ作成」クリックします。

WordPressページをサイト内からリンクする

WordPress では、wp_list_pages()というテンプレートタグを使って自動的にサイト内のWordPressページへのリンクをサイドバーなどに表示することができます。以下のように表示をカスタマイズさせたい場合は、このタグの使い方のドキュメンテーションを参照してください。

  • WordPressページのリスト表示順を変更する(これをさらにカスタマイズするには、ページ作成・編集画面の「表示順」フィールドが役に立ちます)
  • 特定のWordPressページをリストから除外する(表示させない)
  • どのWordPressページをリスト内に表示するかをコントロールする(例:サブページのみを表示するなど)
  • 何階層目まで表示するかをコントロールする

もちろん、WordPressページへ手動でHTMLリンクを貼ることもできます。例えばコピーライト情報のWordPressページをフッターからリンクしたい場合、以下のようにすればよいでしょう。

<a title="コピーライト情報" href="wordpress/?page_id=14">Copyright 1996-2006</a>

パーマリンクを設定していない場合)

<a title="コピーライト情報" href="wordpress/copyright/">Copyright 1996-2006</a>

パーマリンクを設定済みの場合)

:WordPressページのパーマリンクを有効にするには、.htaccess ファイルを書き込み可能にするか、手動で更新する必要があります。

WordPressページを整理する

カテゴリーの下にサブカテゴリーを作成できるのと同じように、WordPressページの下にサブページを置いて階層を作成することができます。

たとえば、WordPressを使って旅行代理店のサイトを作っているとします。旅行先の紹介として各大陸に一つのWordPressページを作成し、それぞれの大陸に属する国のWordPressページをその大陸のサブページとして作成するとしましょう。全体では、以下のような構成になります(カッコ内は各ページの投稿スラッグを表しています)。

  • アフリカ(Africa)
    • カメルーン(Cameroon)
    • レソト(Lesotho)
    • スワジランド(Swaziland)
    • トーゴ(Togo)
  • 南米(South America)
    • アルゼンチン(Argentina)
    • ブラジル(Brazil)
    • チリ(Chile)

実際にこのような構成にするには、まず親ページとなる「アフリカ」と「南米」のWordPressページを通常通りに作成します。その後、各国のWordPressページを作成するときに、ページ作成画面のサイドバーにある「親ページ」ドロップダウンメニューから属する大陸のWordPressページ名称を選択します。

上記の例の構成で、パーマリンクを設定済みの場合、カメルーンのWordPressページのリンク先は以下のようになります。

http://example.com/africa/cameroon/

ページテンプレート

Individual Pages can be set to use a specific, custom Page Template that you create within your Theme. This new Page Template will then override the default page.php Page Template included with your Theme. See What Template is used to Display a Particular Page?, below, to find out exactly which Template will be used. But read what follows first, so you understand the answer :)

WordPress can be configured to use different Page Templates for different Pages. Toward the bottom of the Write->Write Page administration panel is a drop-down labeled "Page Template". From there you can select which Template will be used when displaying this particular Page. NOTE: In order to access the Page Template selector, there must be at least one Page Template available in the active theme.

デフォルトテーマのWordPressページテンプレート

デフォルトテーマ(Kubrick)には以下のWordPressページテンプレートが含まれています。

  • page.php - デフォルトWordPressページテンプレート:WordPressページのコンテンツを表示します。
  • archives.php - アーカイブページ用テンプレート:WordPressページのコンテンツを無視し、月別・カテゴリー別のアーカイブ一覧を表示します。
  • links.php - リンクページ用テンプレート:WordPressページのコンテンツを無視し、 get_links_listタグを使ってリンクを表示します。

WordPressページを表示する際、どのテンプレートが使われますか?

それぞれのWordPressページで、特定のカスタムWordPressページテンプレートを選択することができます。その場合、現在使用中のテーマ内にあるデフォルトの page.php テンプレートは無視されます。特定のテンプレートを使ってWordPressページを表示するには、ページ作成・編集画面のサイドバーにある「ページテンプレート」ドロップダウンメニューから使いたいテンプレートの名称を選択します。 (:使用中のテーマ内にWordPressページテンプレートが存在しない場合、サイドバーのドロップダウンメニューは表示されません)

WordPressは、使用中のテーマ内をスキャンしてWordPressページテンプレートを探します。以下の順で、一番最初に見つかったものを使ってWordPressページを表示します。

  1. 選択したカスタムWordPressページテンプレート
  2. page.php
  3. index.php

WordPressページテンプレートを作ってみよう

それぞれのWordPressページの表示を決定するテンプレートは、使用しているテーマのディレクトリ内に置きます。新規テンプレートを作るには、新しいファイルを作成することになります。mypage.php と名付けたファイルをテキストエディタで作成し、ファイルの先頭に以下のように書き込みましょう。

<?php
/*
Template Name: マイページ
*/
?>

上記のコードは、この mypage.php というファイルが「マイページ」という名称のテンプレートであることを宣言しています。この名称は、ページ作成・編集画面でテンプレートを選択するときや、管理画面のテーマエディタで編集を行うときに表示されます。

拡張子が .php であれば、ファイル名はほぼ自由に名付けられます(使用すべきでないファイル名については、予約済みのテーマファイル名を参照してください。ここにある名前のファイルは、特定の目的のために使用されることになっています)。

上記の5行の宣言より下には テンプレートタグなどのコードを自由に書き込めます。そのコードにより、このテンプレートを選択したWordPressページの表示形式が決定されます。 page.phpindex.php など既存のテンプレートの内容をコピーしてベースにしても良いでしょう。さらに、以下の例などを参考にしてページテンプレートを作成してみてください。作成したページテンプレートをテーマフォルダに置くだけで、ページ作成・編集画面にて選択できるようになります。

WordPressページとテンプレートの例

以下は、WordPressページテンプレートの一例です。

コンテンツつきアーカイブ一覧ページ

作成したWordPressページのコンテンツの下に、ブログ記事のアーカイブ一覧を表示するテンプレートを作ってみましょう。このテンプレートは「Kubrick」テーマに対応するようになっていますが、多少変更を加えれば他のテーマにも使えるはずです。

テキストエディタで新規ファイルを作成し、以下のコードをペーストして arc-cont.php として保存しましょう。ファイルの文字コードをインストールしたWordPressの設定と合わせることをお忘れなく。

<?php
/*
Template Name: コンテンツつきアーカイブ一覧
*/
?>

<?php get_header(); ?>

<div id="content" class="widecolumn">

 <?php if (have_posts()) : while (have_posts()) : the_post();?>
 <div class="post">
  <h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2>
  <div class="entrytext">
   <?php the_content('<p class="serif">このページの続きを読む &raquo;</p>'); ?>
  </div>
 </div>
 <?php endwhile; endif; ?>
 <?php edit_post_link('この記事を編集', '<p>', '</p>'); ?>

</div>
<div id="main">

<?php include (TEMPLATEPATH . '/searchform.php'); ?>

<h2>月別アーカイブ</h2>
  <ul>
    <?php wp_get_archives('type=monthly'); ?>
  </ul>

<h2>カテゴリー別アーカイブ</h2>
  <ul>
     <?php wp_list_cats(); ?>
  </ul>

</div>
<?php get_footer(); ?>

CMSとしてのWordPress

バージョン1.5以降で追加されたページ作成機能とプラグインを組み合わせて使うことにより、WordPressを簡単なコンテンツ・マネジメント・ツールとして手軽に使うことができるようになりました。

WordPressページをトップページとして使う

Static Front Page Plugin(静的トップページプラグイン)を使えば、WordPressページをサイトのトップページとして固定させることも可能です。このプラグインを使うとトップページのクエリが変更され、「home」という投稿スラッグのWordPressページがトップページに表示されるようになります。

このプラグインを使ってWordPressページをサイトのトップページとして表示させる場合、使用中のテーマ内に home.php というファイルが存在すれば、これがトップページのテンプレートとして使われます。ただし、同じWordPressページにトップページ以外からアクセスした場合(http://example.com/home/)、標準のテンプレートが適用されます。

WordPressページをサイト内に挿入する

また、Improved Include Page(インプルーブド・インクルード・ページ)というプラグインを使って、WordPressページのコンテンツをサイト内の別の場所に挿入することもできます。こうすることによって、サイト内の要素を管理画面から簡単に編集することができます。

ブログをルート以外のディレクトリに表示させる

Wordpressサイトが http://example.com/ にインストールされていて、ブログのトップページを http://example.com/blog/ に置き、他のページは http://example.com/page1/ のような位置に表示させたいとします。

まず、サイトのトップページを作ります。http://example.com/ に表示したい内容に基づき、home.php というテンプレートをテーマ内に作成しましょう。次に、ブログのトップページ用テンプレートを作成します。テキストエディタで新規ファイルを作成し、以下のコードをペーストして blog.php として保存しましょう。ファイルの文字コードは、インストールしたWordPressの設定と合わせておきます。

<?php
/*
Template Name: ブログ
*/
?>

<?php query_posts('cat=-0'); //すべてのブログ記事を取得
    load_template( TEMPLATEPATH . '/index.php'); //indexを読み込む
 ?>

管理画面にログインし、新規ページを作成します。タイトルを「ブログ」、投稿スラッグを「blog」、ページテンプレートを「ブログ」に設定します。

最後に、分かりやすいURLを表示させるためにパーマリンクの設定を変更しましょう。管理画面の「オプション>パーマリンク設定」をクリックし、「独自表記を以下の入力欄に記述 」のラジオボタンをクリックします。テキストフィールドに以下のように記入します。

/blog/%year%/%monthnum%/%postname%/

これで、ブログ記事のパーマリンクがすべて /blog/2006/11/17/post-name/ といった形式になります。

これで完了です!ユニークなトップページと、論理的な構造のブログコンテンツを持ったCMSが完成しました。

用語について

一般的に、ページには静的なものと動的に生成されるものがあります。静的ページは一度作成・保存されたら同じ状態で訪問者に表示されます。一方、動的ページは訪問者がページを見ようとするたびに新しく生成されます。この場合、ページの作者は「どんなデータを表示させるか」のみを特定しておき、実際に表示されるページは作成しません。

WordPressでは、WordPressページを含む大半の表示ページが動的に生成されています。投稿者が作成したコンテンツ(記事、コメント、ブログロールリンク、カテゴリー項目など)は MySQL データベースの中に保存されており、サイトにアクセスがあるとWordPressはデータベースに対し、現在使っているテーマ内のテンプレートをもとにしてデータのリクエストを行います。

静的ページの例としては、PHP コードなどを含まない HTML 文書が挙げられます。例えば、「管理者について」という100%静的なHTMLファイルを作って aboutl.html として保存し、サイト内からリンクすることもできますが、これはあまりメンテナンスしやすいとは言えません。WordPress の設定やテーマ内のテンプレートに変更を加えたりした際に、その変更はHTMLファイルには自動的に加わりません。代わりに、動的なWordPressページと的テンプレートを使うことにより、更新をスムーズに行うことができます。

WordPressページは動的に生成されているにも関わらず、この機能はよく「静的ページの作成機能」といった形で呼ばれることがあります。Webパブリッシングの分野では、「静的」と「動的」の違いは上記の説明のように区別されています。しかし、一般的な用語では、「静的」とは「変化がない状態」を指すこともあります。ブログの記事は他の新しい記事が追加されるに従ってトップページなどから消えてしまいますが、WordPressページはサイトについて、管理者についてのページなど、常に同じ場所にあり内容にもあまり変化がないことが多いので、このような呼ばれ方をしています。

つまり、「WordPressページには静的な情報が含まれているが、生成は動的に行われている」と言い換えることができます。このため、WordPressページは静的・動的どちらと言っても間違いではありません。しかし、WordPressページのコンテンツはデータベースから動的に呼び出されているので、混乱を防ぐためにこの記事内では「WordPressページは動的なページである」としています。

最新英語版: WordPress Codex » Pages最新版との差分

このページ「固定ページ」はページテンプレートの節が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています