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

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

固定ページ

提供: WordPress Codex 日本語版
Pagesから転送)
移動先: 案内検索

このページ「固定ページ」は 情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。最新に更新してくださる協力者を求めています

WordPressでは(新規にコンテンツを作成する際)「投稿(post)」または「ページ(page)」のどちらかを作成することができます。普通のブログエントリを書くときには「投稿」を作成します。投稿は、自動的にあなたのブログのホームページに時系列に従って表示されます。「ページ」のほうは「管理人について」や「連絡先」などのようなコンテンツに適したものです。

「ページ」はブログの時系列順の外に置くことができ、任意の量のコンテンツを整理・管理することができます。

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

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

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


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

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

  • WordPressページは投稿とは別物です。ブログのメインページでは表示されません。(Note: Inline Posts プラグインを使えば「ページ」の中に「投稿」をインクルードすることもできます。)
  • 「ページ」は階層性(親-子)構造のみで構成され、カテゴリーを割り振ったりタグを付けることはできません。
  • WordPressページは個別ファイルではありません。WordPressページのコンテンツは投稿と同じく、データベース内に保存されています。
  • ページテンプレート内にテンプレートタグやPHPコードを書くことはできますが、WordPressページのコンテンツ内に書いても動作しません(:コンテンツ内に書いて実行させたい場合、ショートコード や、Exec-PHPRunPHP などのプラグインを使うと良いでしょう。

WordPressページを作成する

WordPressページを新規作成するには、まず、WordPress の管理画面にログインします。このとき使うユーザーIDに、新規ページ作成の権限が与えられていることが必要になります。ログインしたら、ページ > 新規追加を選びます。

ページのURL(またはスラッグ)の変更


2.5以降、ページURLの変更方法がちょっとだけ分かりにくくなりました。 パーマリンク設定の変更権限を持っているのなら、 日付と投稿名 オプション を選択(設定 タブをクリックしてからパーマリンク設定 タブをクリック)すると、あなたが投稿本文をタイピングし始めると同時にパーマリンクが自動的に投稿タイトルのすぐ下に現れます(タイトルを記入しただけではまだパーマリンクは表示されません).

いっぽうあなたが別のパーマリンク設定を選択していた場合またはあなたがパーマリンク設定の変更権限を持っていない場合には、以下の手順でページURLを変更することになります:

  1. 新規追加 > ページでページを作成
  2. 公開ボタンをクリックしてページを公開
  3. 管理 > ページ
  4. 編集をクリック
  5. タイトルの下のパーマリンクを確認して編集 リンクをクリックし変更を完了

というわけで、あなたがパーマリンク設定の権限を持たない場合にURLを変更するためには、まずページを公開(publish)する必要があります。

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

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

  • 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/

ページテンプレート

それぞれのページはあなたがテーマ内に作成した特定のカスタムページテンプレート(a PHP template file, e.g., snarfer.php)を使うように設定できます(see Creating your own Page Templates below on how to create a custom template)。この新しいページテンプレートは、あなたのテーマ内に含まれているデフォルトのpage.phpページテンプレートを上書きします。下記WordPressページを表示する際、どのテンプレートが使われますか?も参考にして、どのテンプレートが使われるのかについて、しっかりと理解してください。もっとも、この前を読み進めれば、すぐに理解できます。 :)

WordPressはそれぞれのページにそれぞれのテンプレートを使えるように構成されています。管理画面からページ > 新規追加へ行くと、下の方(or on the sidebar, depending on which version of WordPress you are using)にページテンプレートというラベルのついたドロップダウンメニューがあります。ここから、このページが表示されるときにどのテンプレートが使用されるかを選ぶことができます。

注意: ページテンプレート選択リストにアクセスするためには、有効になっているテーマの中に少なくとも一つはページテンプレートがなくてはいけません。(see Creating your own Page Templates below to learn how to create one).

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

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

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

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 など既存のテンプレートの内容をコピーしてベースにしても良いでしょう。さらに、以下の例などを参考にしてページテンプレートを作成してみてください。作成したページテンプレートをテーマフォルダに置くだけで、ページ作成・編集画面にて選択できるようになります。 (Note: when creating or editing a Page, the Page Template option does not appear unless there is at least one template defined in the above manner.)

(注) テンプレートファイルは UTF-8 BOMなしで保存してください。それ以外で保存するとエラーが出たり文字化けしたりします。

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

以下は、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

WordPress は簡単なコンテンツ・マネジメント・ツールとして使うことができます。If you do, you'll probably create a large number of pages for your content.

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

WordPress 2.1で、任意の(あなたの好きな)ページをフロントページとして指定できるオプションが導入されました。WordPress管理画面の設定 > 表示設定へ移動します。フロントページカテゴリ(「フロントページの表示」)であなたの好きな(既に公開済みの)ページ又は投稿をフロントページにするよう設定できます。デフォルト設定では、(あなたのブログの)最も新しい投稿が表示されるようになっています。

2.1以前のバージョンでフロントページを設定するための方法

任意の静的ページをホームページとして設定するにあたって既製の(WordPressに組み込まれている)手段を用いたくない場合には、あと二つ選択肢があります。 Static Front Page Plugin(Static Front Page プラグイン)を使えば、WordPressページをサイトのトップページとして固定させることも可能です。このプラグインを使うとトップページのクエリが変更され、「home」という投稿スラッグのWordPressページがトップページに表示されるようになります。

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

このプラグインを使わない場合の方法としては、WordPressはテンプレートディレクトリ内の"home.php"を認識するようになっているのでこれをindex.phpの代わりとして使用(実行)することでフロントページを表示させる方法です。ただし、もしあなたの「ホーム」ページがあなたの「ブログ」でない場合には、home.phpテンプレートは常に(あなたの好き嫌いに関わらず)ブログページに適用されることは忠告しておかねばなりません。 query_posts()テンプレートタグを使えば、The Loopを使うまでもなくどのページでも呼び出せます。例えば次のようになります:

<?php 
     query_posts('pagename=home'); 
?>

Will call up only the post with the pagename "home." See query_posts() for more examples of the template tag in action.

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

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


WordPressページの動的な性質

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

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

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

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

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

変更履歴

  • 2.5 :
  • 2.1 : サイトのフロントページとして、特定の「ページ」または投稿を指定できるようになりました(表示設定参照)。
  • 1.5 : WordPress に「ページ」機能が追加されました。

関連ページ


テンプレート階層: カテゴリーテンプレート, タグテンプレート, タクソノミーテンプレート, ページテンプレート, 投稿タイプテンプレート, 投稿者テンプレート, 日付テンプレート, 検索テンプレート, 404 テンプレート, 添付ファイルテンプレート, ループテンプレート /en


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