- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
「固定ページ」の版間の差分
細 |
(訳しました。分かりにくい表現があればご指摘ください。) |
||
18行目: | 18行目: | ||
==WordPressページとは?== | ==WordPressページとは?== | ||
− | + | ブログの投稿は日時に深く関わったコンテンツです。公開された特定の日時が文脈を決定します。 | |
− | + | 「WordPressページ」はブログの投稿とは異なり、管理者やサイト自体についての情報を公開するためなどに使われます。こういった情報は日時とは深い関わりがなく、いつでも読んでもらえる内容となります。例えば、ある日の朝にしたことや思ったこと(例:「今日の朝ご飯はおいしかった」)を書くのには、ブログの投稿機能を使います。WordPressページには、特定の日や時間にしばられない内容(例:「このサイトでは朝ご飯に関する話題を書いています」)を書くのに使うと良いでしょう。 | |
もちろん、あなたの WordPress はあなたのもの。どんなふうに使ってもかまいません。WordPressページを使えば、ブログの外側に置いておきたいどんな情報もサイトに加えることができます。楽しむことを忘れずに、実験したり、想像力を働かせたりして、あなたなりの使い方を見つけてください。 | もちろん、あなたの WordPress はあなたのもの。どんなふうに使ってもかまいません。WordPressページを使えば、ブログの外側に置いておきたいどんな情報もサイトに加えることができます。楽しむことを忘れずに、実験したり、想像力を働かせたりして、あなたなりの使い方を見つけてください。 | ||
31行目: | 31行目: | ||
==WordPressページの簡単な説明== | ==WordPressページの簡単な説明== | ||
− | === | + | ===WordPressページとはこんなものです=== |
* WordPressページは、投稿に比べると日時にあまり依存しません。 | * WordPressページは、投稿に比べると日時にあまり依存しません。 | ||
* WordPressページは、トップレベルのページと[[#WordPressページを整理する|サブページ]]に整理することができます。 | * WordPressページは、トップレベルのページと[[#WordPressページを整理する|サブページ]]に整理することができます。 | ||
* WordPressページでは、さまざまなテンプレートファイル、[[Template Tags| テンプレートタグ]]、PHPコードなどを含む「[[#WordPressページテンプレート|ページテンプレート]]」を使うことができます。 | * WordPressページでは、さまざまなテンプレートファイル、[[Template Tags| テンプレートタグ]]、PHPコードなどを含む「[[#WordPressページテンプレート|ページテンプレート]]」を使うことができます。 | ||
− | === | + | ===WordPressページを誤解しないために=== |
* WordPressページは投稿とは別物です。ブログのメインページでは表示されず、カテゴリーを割り振ることもできません。 | * WordPressページは投稿とは別物です。ブログのメインページでは表示されず、カテゴリーを割り振ることもできません。 | ||
* WordPressページは個別ファイルではありません。WordPressページのコンテンツは投稿と同じく、データベース内に保存されています。 | * WordPressページは個別ファイルではありません。WordPressページのコンテンツは投稿と同じく、データベース内に保存されています。 | ||
− | * | + | * ページテンプレート内にテンプレートタグやPHPコードを書くことはできますが、WordPressページのコンテンツ内に書いても動作しません('''注''':コンテンツ内に書いたタグやPHPコードを実行したい場合、 [http://dev.wp-plugins.org/wiki/RunPHP RunPHP] などのプラグインを使うと良いでしょう。[[Plugins/Posts Formatting|投稿をフォーマットするためのプラグイン一覧]]も合わせてご参照ください)。 |
==WordPressページを作成する== | ==WordPressページを作成する== | ||
− | + | WordPressページを新規作成するには、まず、WordPress の管理画面にログインします。このとき使うユーザーIDに、新規ページ作成の権限が与えられていることが必要になります。ログインしたら、メニューの「投稿>ページ作成」クリックします。 | |
− | + | ||
− | + | ||
==WordPressページをサイト内からリンクする== | ==WordPressページをサイト内からリンクする== | ||
− | WordPress | + | WordPress では、<tt>[[Template Tags/wp_list_pages|wp_list_pages()]]</tt>という[[Template Tags|テンプレートタグ]]を使って自動的にサイト内の'''WordPressページ'''へのリンクをサイドバーなどに表示することができます。以下のように表示をカスタマイズさせたい場合は、[[Template Tags/wp_list_pages|このタグの使い方のドキュメンテーション]]を参照してください。 |
− | + | ||
− | *[[Template Tags/wp_list_pages#Exclude Pages from List| | + | *'''WordPressページ'''のリスト表示順を変更する(これをさらにカスタマイズするには、ページ作成・編集画面の「表示順」フィールドが役に立ちます) |
− | + | *特定の'''WordPressページ'''をリストから[[Template Tags/wp_list_pages#Exclude Pages from List|除外する]](表示させない) | |
− | * | + | *どの'''WordPressページ'''をリスト内に表示するかをコントロールする(例:サブページのみを表示するなど) |
+ | *何階層目まで表示するかをコントロールする | ||
− | + | もちろん、'''WordPressページ'''へ手動でHTMLリンクを貼ることもできます。例えばコピーライト情報の'''WordPressページ'''をフッターからリンクしたい場合、以下のようにすればよいでしょう。 | |
− | <a title=" | + | <a title="コピーライト情報" href="wordpress/?page_id=14">Copyright 1996-2006</a> |
− | + | ([[Using Permalinks|パーマリンク]]を設定していない場合) | |
− | <a title=" | + | <a title="コピーライト情報" href="wordpress/copyright/">Copyright 1996-2006</a> |
− | + | ([[Using Permalinks|パーマリンク]]を設定済みの場合) | |
− | ''' | + | '''注''':WordPressページのパーマリンクを有効にするには、.htaccess ファイルを書き込み可能にするか、手動で更新する必要があります。 |
==WordPressページを整理する== | ==WordPressページを整理する== | ||
− | + | カテゴリーの下にサブカテゴリーを作成できるのと同じように、'''WordPressページ'''の下にサブページを置いて階層を作成することができます。 | |
− | + | たとえば、WordPressを使って旅行代理店のサイトを作っているとします。旅行先の紹介として各大陸に一つの'''WordPressページ'''を作成し、それぞれの大陸に属する国の'''WordPressページ'''をその大陸のサブページとして作成するとしましょう。全体では、以下のような構成になります(カッコ内は各ページの[[Glossary#Post_Slug|投稿スラッグ]]を表しています)。 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *アフリカ(Africa) | |
+ | **カメルーン(Cameroon) | ||
+ | **レソト(Lesotho) | ||
+ | **スワジランド(Swaziland) | ||
+ | **トーゴ(Togo) | ||
+ | *南米(South America) | ||
+ | **アルゼンチン(Argentina) | ||
+ | **ブラジル(Brazil) | ||
+ | **チリ(Chile) | ||
− | + | 実際にこのような構成にするには、まず親'''ページ'''となる「アフリカ」と「南米」の'''WordPressページ'''を通常通りに作成します。その後、各国の'''WordPressページ'''を作成するときに、ページ作成画面のサイドバーにある「親ページ」ドロップダウンメニューから属する大陸の'''WordPressページ'''名称を選択します。 | |
+ | |||
+ | 上記の例の構成で、[[Using Permalinks|パーマリンク]]を設定済みの場合、カメルーンの'''WordPressページ'''のリンク先は以下のようになります。 | ||
<nowiki>http://example.com/africa/cameroon/</nowiki> | <nowiki>http://example.com/africa/cameroon/</nowiki> | ||
− | == | + | ===デフォルトテーマのWordPressページテンプレート=== |
− | + | デフォルトテーマ(Kubrick)には以下の'''WordPressページ'''テンプレートが含まれています。 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * <tt>page.php</tt> - デフォルト'''WordPressページ'''テンプレート:'''WordPressページ'''のコンテンツを表示します。 | |
+ | * <tt>archives.php</tt> - アーカイブページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、月別・カテゴリー別のアーカイブ一覧を表示します。 | ||
+ | * <tt>links.php</tt> - リンクページ用テンプレート:'''WordPressページ'''のコンテンツを無視し、[[Template_Tags/get_links_list | get_links_list]]タグを使ってリンクを表示します。 | ||
− | + | ===WordPressページを表示する際、どのテンプレートが使われますか?=== | |
− | + | ||
− | + | ||
− | + | それぞれの'''WordPressページ'''で、特定のカスタム'''WordPressページ'''テンプレートを選択することができます。その場合、現在使用中のテーマ内にあるデフォルトの <tt>page.php</tt> テンプレートは無視されます。特定のテンプレートを使って'''WordPressページ'''を表示するには、ページ作成・編集画面のサイドバーにある「ページテンプレート」ドロップダウンメニューから使いたいテンプレートの名称を選択します。 | |
+ | ('''注''':使用中のテーマ内に'''WordPressページ'''テンプレートが存在しない場合、サイドバーのドロップダウンメニューは表示されません) | ||
− | + | WordPressは、使用中のテーマ内をスキャンして'''WordPressページ'''テンプレートを探します。以下の順で、一番最初に見つかったものを使って'''WordPressページ'''を表示します。 | |
− | # | + | #選択したカスタム'''WordPressページ'''テンプレート |
#<tt>page.php</tt> | #<tt>page.php</tt> | ||
#<tt>index.php</tt> | #<tt>index.php</tt> | ||
110行目: | 107行目: | ||
===WordPressページテンプレートを作ってみよう=== | ===WordPressページテンプレートを作ってみよう=== | ||
− | + | それぞれの'''WordPressページ'''の表示を決定するテンプレートは、使用している[[Using Themes|テーマ]]のディレクトリ内に置きます。新規テンプレートを作るには、新しいファイルを作成することになります。<tt>mypage.php</tt> と名付けたファイルをテキストエディタで作成し、ファイルの先頭に以下のように書き込みましょう。 | |
<?php | <?php | ||
/* | /* | ||
− | Template Name: | + | Template Name: マイページ |
*/ | */ | ||
?> | ?> | ||
− | + | 上記のコードは、この <tt>mypage.php</tt> というファイルが「マイページ」という名称のテンプレートであることを宣言しています。この名称は、ページ作成・編集画面でテンプレートを選択するときや、管理画面のテーマエディタで編集を行うときに表示されます。 | |
− | + | 拡張子が <tt>.php</tt> であれば、ファイル名はほぼ自由に名付けられます(使用すべきでないファイル名については、[[Theme Development#Theme Template Files List|予約済みのテーマファイル名]]を参照してください。ここにある名前のファイルは、特定の目的のために使用されることになっています)。 | |
− | + | 上記の5行の宣言より下には [[Template Tags|テンプレートタグ]]などのコードを自由に書き込めます。そのコードにより、このテンプレートを選択した'''WordPressページ'''の表示形式が決定されます。 | |
+ | <tt>page.php</tt> や <tt>index.php</tt> など既存のテンプレートの内容をコピーしてベースにしても良いでしょう。さらに、以下の例などを参考にしてページテンプレートを作成してみてください。作成したページテンプレートをテーマフォルダに置くだけで、ページ作成・編集画面にて選択できるようになります。 | ||
==WordPressページとテンプレートの例== | ==WordPressページとテンプレートの例== | ||
− | + | 以下は、'''WordPressページ'''テンプレートの一例です。 | |
− | === | + | ===コンテンツつきアーカイブ一覧ページ=== |
− | + | 作成した'''WordPressページ'''のコンテンツの下に、ブログ記事のアーカイブ一覧を表示するテンプレートを作ってみましょう。このテンプレートは「Kubrick」テーマに対応するようになっていますが、多少変更を加えれば他のテーマにも使えるはずです。 | |
− | + | テキストエディタで新規ファイルを作成し、以下のコードをペーストして <tt>arc-cont.php</tt> として保存しましょう。ファイルの文字コードをインストールしたWordPressの設定と合わせることをお忘れなく。 | |
<nowiki> | <nowiki> | ||
<?php | <?php | ||
/* | /* | ||
− | Template Name: | + | Template Name: コンテンツつきアーカイブ一覧 |
*/ | */ | ||
?> | ?> | ||
148行目: | 146行目: | ||
<h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2> | <h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2> | ||
<div class="entrytext"> | <div class="entrytext"> | ||
− | <?php the_content('<p class="serif"> | + | <?php the_content('<p class="serif">このページの続きを読む &raquo;</p>'); ?> |
</div> | </div> | ||
</div> | </div> | ||
<?php endwhile; endif; ?> | <?php endwhile; endif; ?> | ||
− | <?php edit_post_link(' | + | <?php edit_post_link('この記事を編集', '<p>', '</p>'); ?> |
</div> | </div> | ||
159行目: | 157行目: | ||
<?php include (TEMPLATEPATH . '/searchform.php'); ?> | <?php include (TEMPLATEPATH . '/searchform.php'); ?> | ||
− | <h2> | + | <h2>月別アーカイブ</h2> |
<ul> | <ul> | ||
<?php wp_get_archives('type=monthly'); ?> | <?php wp_get_archives('type=monthly'); ?> | ||
</ul> | </ul> | ||
− | <h2> | + | <h2>カテゴリー別アーカイブ</h2> |
<ul> | <ul> | ||
<?php wp_list_cats(); ?> | <?php wp_list_cats(); ?> | ||
175行目: | 173行目: | ||
==CMSとしてのWordPress== | ==CMSとしてのWordPress== | ||
− | + | バージョン1.5以降で追加された'''ページ'''作成機能とプラグインを組み合わせて使うことにより、WordPressを簡単なコンテンツ・マネジメント・ツールとして手軽に使うことができるようになりました。 | |
=== WordPressページをトップページとして使う === | === WordPressページをトップページとして使う === | ||
− | + | [http://www.semiologic.com/projects/static-front/ Static Front Page Plugin(静的トップページプラグイン)]を使えば、'''WordPressページ'''をサイトのトップページとして固定させることも可能です。このプラグインを使うとトップページのクエリが変更され、「home」という投稿スラッグの'''WordPressページ'''がトップページに表示されるようになります。 | |
− | + | このプラグインを使って'''WordPressページ'''をサイトのトップページとして表示させる場合、使用中のテーマ内に <tt>home.php</tt> というファイルが存在すれば、これがトップページのテンプレートとして使われます。ただし、同じ'''WordPressページ'''にトップページ以外からアクセスした場合(<tt><nowiki>http://example.com/home/</nowiki></tt>)、標準のテンプレートが適用されます。 | |
=== WordPressページをサイト内に挿入する === | === WordPressページをサイト内に挿入する === | ||
− | + | また、[http://www.vtardia.com/blog/improved-include-page/ Improved Include Page(インプルーブド・インクルード・ページ)]というプラグインを使って、'''WordPressページ'''のコンテンツをサイト内の別の場所に挿入することもできます。こうすることによって、サイト内の要素を管理画面から簡単に編集することができます。 | |
=== ブログをルート以外のディレクトリに表示させる === | === ブログをルート以外のディレクトリに表示させる === | ||
− | + | Wordpressサイトが http://example.com/ にインストールされていて、ブログのトップページを http://example.com/blog/ に置き、他のページは http://example.com/page1/ のような位置に表示させたいとします。 | |
− | + | まず、サイトのトップページを作ります。http://example.com/ に表示したい内容に基づき、<tt>home.php</tt> というテンプレートをテーマ内に作成しましょう。次に、ブログのトップページ用テンプレートを作成します。テキストエディタで新規ファイルを作成し、以下のコードをペーストして <tt>blog.php</tt> として保存しましょう。ファイルの文字コードは、インストールしたWordPressの設定と合わせておきます。 | |
<pre> | <pre> | ||
<?php | <?php | ||
/* | /* | ||
− | Template Name: | + | Template Name: ブログ |
*/ | */ | ||
?> | ?> | ||
− | <?php query_posts('cat=-0'); // | + | <?php query_posts('cat=-0'); //すべてのブログ記事を取得 |
− | load_template( TEMPLATEPATH . '/index.php'); // | + | load_template( TEMPLATEPATH . '/index.php'); //indexを読み込む |
?> | ?> | ||
</pre> | </pre> | ||
− | + | 管理画面にログインし、新規ページを作成します。タイトルを「ブログ」、投稿スラッグを「blog」、ページテンプレートを「ブログ」に設定します。 | |
− | + | 最後に、分かりやすいURLを表示させるためにパーマリンクの設定を変更しましょう。管理画面の「オプション>パーマリンク設定」をクリックし、「独自表記を以下の入力欄に記述 」のラジオボタンをクリックします。テキストフィールドに以下のように記入します。 | |
+ | /blog/%year%/%monthnum%/%postname%/ | ||
− | + | これで、ブログ記事のパーマリンクがすべて /blog/2006/11/17/post-name/ といった形式になります。 | |
+ | |||
+ | これで完了です!ユニークなトップページと、論理的な構造のブログコンテンツを持ったCMSが完成しました。 | ||
+ | |||
+ | == 用語について == | ||
+ | 一般的に、ページには静的なものと動的に生成されるものがあります。静的ページは一度作成・保存されたら同じ状態で訪問者に表示されます。一方、動的ページは訪問者がページを見ようとするたびに新しく生成されます。この場合、ページの作者は「どんなデータを表示させるか」のみを特定しておき、実際に表示されるページは作成しません。 | ||
− | + | WordPressでは、'''WordPressページ'''を含む大半の表示ページが動的に生成されています。投稿者が作成したコンテンツ(記事、コメント、ブログロールリンク、カテゴリー項目など)は [[Glossary#MySQL|MySQL]] データベースの中に保存されており、サイトにアクセスがあるとWordPressはデータベースに対し、現在使っている[[Using Themes|テーマ]]内の[[Theme Development#Theme Templates|テンプレート]]をもとにしてデータのリクエストを行います。 | |
− | + | 静的ページの例としては、[[Glossary#PHP|PHP]] コードなどを含まない [[Glossary#HTML|HTML]] 文書が挙げられます。例えば、「管理者について」という100%静的なHTMLファイルを作って aboutl.html として保存し、サイト内からリンクすることもできますが、これはあまりメンテナンスしやすいとは言えません。WordPress の設定や[[Using Themes|テーマ]]内の[[Theme Development#Theme Templates|テンプレート]]に変更を加えたりした際に、その変更はHTMLファイルには自動的に加わりません。代わりに、動的な'''WordPressページ'''と的テンプレートを使うことにより、更新をスムーズに行うことができます。 | |
− | + | '''WordPressページ'''は動的に生成されているにも関わらず、この機能はよく「静的ページの作成機能」といった形で呼ばれることがあります。Webパブリッシングの分野では、「静的」と「動的」の違いは上記の説明のように区別されています。しかし、一般的な用語では、「静的」とは「変化がない状態」を指すこともあります。ブログの記事は他の新しい記事が追加されるに従ってトップページなどから消えてしまいますが、'''WordPressページ'''はサイトについて、管理者についてのページなど、常に同じ場所にあり内容にもあまり変化がないことが多いので、このような呼ばれ方をしています。 | |
− | + | つまり、「'''WordPressページ'''には静的な情報が含まれているが、生成は動的に行われている」と言い換えることができます。このため、'''WordPressページ'''は静的・動的どちらと言っても間違いではありません。しかし、'''WordPressページ'''のコンテンツはデータベースから動的に呼び出されているので、混乱を防ぐためにこの記事内では「'''WordPressページ'''は動的なページである」としています。 |
2006年7月8日 (土) 07:16時点における版
目次
はじめに
「ページ」または「WordPressページ」は投稿(ブログの記事)と似ていますが、さらにフレキシブルな使い方ができ、ブログの時系列順の外に置くことができます。ページを使って、任意の量のコンテンツを整理・管理することができます。このページ機能はバージョン1.5で追加されました。
さて、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/
デフォルトテーマの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ページを表示します。
- 選択したカスタムWordPressページテンプレート
- page.php
- index.php
WordPressページテンプレートを作ってみよう
それぞれのWordPressページの表示を決定するテンプレートは、使用しているテーマのディレクトリ内に置きます。新規テンプレートを作るには、新しいファイルを作成することになります。mypage.php と名付けたファイルをテキストエディタで作成し、ファイルの先頭に以下のように書き込みましょう。
<?php /* Template Name: マイページ */ ?>
上記のコードは、この mypage.php というファイルが「マイページ」という名称のテンプレートであることを宣言しています。この名称は、ページ作成・編集画面でテンプレートを選択するときや、管理画面のテーマエディタで編集を行うときに表示されます。
拡張子が .php であれば、ファイル名はほぼ自由に名付けられます(使用すべきでないファイル名については、予約済みのテーマファイル名を参照してください。ここにある名前のファイルは、特定の目的のために使用されることになっています)。
上記の5行の宣言より下には テンプレートタグなどのコードを自由に書き込めます。そのコードにより、このテンプレートを選択したWordPressページの表示形式が決定されます。 page.php や index.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">このページの続きを読む »</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ページは動的なページである」としています。