当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「テンプレートタグ/wp list pages」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(未翻訳テンプレ追加、体裁微調整)
(和訳完了。パラメータの値の表記を統一しました。一部疑問点があるのでノートに書いておきます。)
1行目: 1行目:
{{NeedTrans}}
 
 
 
<div id="Description">
 
<div id="Description">
 
== 説明 ==
 
== 説明 ==
 
</div>
 
</div>
The Template Tag, '''wp_list_pages()''', displays a list of WordPress [[Pages]] as links. It is often used to customize the [[:en:Customizing_Your_Sidebar|Sidebar]] or [[:en:Designing_Headers|Header]], but may be used in other [[テンプレート|Templates]] as well.
 
  
This [[テンプレートタグ|Template Tag]] is available for WordPress versions 1.5 and newer.
+
テンプレートタグ '''wp_list_pages()''' は WordPress [[Pages|ページ]]へのリンクのリスト (以下ページリストとする) を表示します。しばしば[[:en:Customizing_Your_Sidebar|サイドバー]]や[[:en:Designing_Headers|ヘッダー]]をカスタマイズするのに使われますが、他の[[テンプレート]]にも同様に使えるかもしれません。
 +
 
 +
この[[テンプレートタグ]]は WordPress 1.5 以降で使用できます。
  
 
<div id="Usage">
 
<div id="Usage">
33行目: 32行目:
 
</pre>
 
</pre>
  
By default, the usage shows:
+
デフォルトでは以下のように動作します。
* All Pages and sub-pages are displayed (no depth restriction)
+
* すべてのページとサブページを表示します (階層制限はありません)
* Date created is not displayed
+
* ページの作成日は表示しません
* Is not restricted to the child_of any Page
+
* すべてのページの子ページに関する制限はありません
* No pages are excluded
+
* 除外されるページはありません
* The title of the pages listed is "Pages"
+
* リストの見出しが「ページ」となります
* Results are echoed (displayed)
+
* 結果は echo されます (表示されます)
* Is not restricted to any specific author
+
* ページの作成者による制限はありません
* Sorted by Page Order then Page Title.
+
* ページのタイトル順にソートされます
* Sorted in ascending order (not shown in defaults above)
+
* 昇順にソートされます (上述の例には載っていません)
* Pages displayed in a hierarchical indented fashion (not shown in defaults above)
+
* ページの親子関係をインデントして表示します (上述の例には載っていません)
* Includes all Pages (not shown in defaults above)
+
* すべてのページが含まれます (上述の例には載っていません)
* Not restricted to Pages with specific meta key/meta value (not shown in defaults above)
+
* 特定のメタキーやメタ情報による制限はありません (上述の例には載っていません)
 
   
 
   
 
  wp_list_pages();
 
  wp_list_pages();
  
 
<div id="Hiding_or_Changing_the_List_Heading">
 
<div id="Hiding_or_Changing_the_List_Heading">
=== Hiding or Changing the List Heading ===
+
=== リストの見出しを隠す、変える ===
 
</div>
 
</div>
The default heading of the list ("Pages") of Pages generated by ''wp_list_pages'' can be hidden by passing a null or empty value to the '''title_li''' parameter. The following example displays no heading text above the list.
+
 
 +
''wp_list_pages'' が表示するページリストのデフォルトの見出し (「ページ」) は '''title_li''' パラメータに空の値を入れると表示しなくすることができます。以下の例はページリストの上に見出しのテキストを表示しません。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
58行目: 58行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('title_li='); ?&gt; <br />  
wp_list_pages('title_li='); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
 
</div>
 
</div>
  
In the following example, only Pages with IDs 9, 5, and 23 are included in the list and the heading text has been changed to the word "Poetry", with a heading style of <tt><nowiki><h2></nowiki></tt>:
+
下記の例では ID が 9, 5, 23 のページだけを表示し、見出しのテキストを「Poetry」に置き換え、タグを <tt><nowiki><h2></nowiki></tt> に変更しています。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
70行目: 69行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('include=5,9,23&title_li=&lt;h2&gt;' . __('Poetry') . '&lt;/h2&gt;' ); ?&gt; <br />  
wp_list_pages('include=5,9,23&title_li=&lt;h2&gt;' . __('Poetry') . '&lt;/h2&gt;' ); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
77行目: 75行目:
  
 
<div id="List_Pages_by_Page_Order">
 
<div id="List_Pages_by_Page_Order">
=== List Pages by Page Order ===
+
=== リストの順序を変える ===
 
</div>
 
</div>
The following example lists the Pages in the order defined by the '''Page Order''' settings for each Page in the [[Administration_Panels#Write_Page|Write]] > [[Write_Page_SubPanel|Page]] administrative panel.
+
 
 +
下の例では [[Administration_Panels#Write_Page|作成]] > [[Write_Page_SubPanel|ページ]] で設定された'''ページ順序'''に従ってページリストを表示します。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
85行目: 84行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('sort_column=menu_order'); ?&gt; <br />  
wp_list_pages('sort_column=menu_order'); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
 
</div>
 
</div>
  
If you wanted to sort the list by Page Order and display the word "Prose" as the list heading (in h2 style) on a Sidebar, you could add the following code to the sidebar.php file:
+
もしページ順序に従ってページリストを表示し、サイドバーに表示される見出しを「Prose」 (h2 タグスタイルで) と表示したい場合は、下のコードを sidebar.php ファイルに追加してください (サイドバーウィジェットを使用している場合は管理画面から)。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
97行目: 95行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('sort_column=menu_order&title_li=&lt;h2&gt;' . __('Prose') . '&lt;/h2&gt;' ); ?&gt; <br />  
wp_list_pages('sort_column=menu_order&title_li=&lt;h2&gt;' . __('Prose') . '&lt;/h2&gt;' ); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
 
</div>
 
</div>
  
Using the following piece of code, the Pages will display without heading and in ''Page Order'':
+
以下のコードを使うと、見出しなしで''ページ順序''に従い表示します。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
109行目: 106行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('sort_column=menu_order&title_li='); ?&gt; <br />  
wp_list_pages('sort_column=menu_order&title_li='); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
116行目: 112行目:
  
 
<div id="Sort_Pages_by_Post_Date">
 
<div id="Sort_Pages_by_Post_Date">
=== Sort Pages by Post Date===
+
=== 作成日順に並び替える ===
 
</div>
 
</div>
This example displays Pages sorted by (creation) date, and shows the date next to each Page list item.
+
この例はページの作成日でソートし、その日付をページごとに表示します。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
124行目: 120行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('sort_column=post_date&show_date=created'); ?&gt; <br />  
wp_list_pages('sort_column=post_date&show_date=created'); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
131行目: 126行目:
  
 
<div id="Exclude_Pages_from_List">
 
<div id="Exclude_Pages_from_List">
=== Exclude Pages from List ===
+
=== 特定のページを除外する ===
 
</div>
 
</div>
Use the '''exclude''' parameter hide certain Pages from the list to be generated by ''wp_list_pages''. Excluding a Page will also exclude all of its sub-pages from the list to be generated. <!-- '''Note''': Page numbers must be in ascending order (i.e. <tt>'exclude=17,38'</tt> and not <tt>'exclude=38,17'</tt>).  Note this isn't true at least as 2.1.3 -->
+
'''exclude''' パラメータを使うと、''wp_list_pages'' が表示するページリストから特定のページを除外することができます。あるページを除外すると、そのページのサブページも同時に除外されます。
 +
<!-- '''Note''': Page numbers must be in ascending order (i.e. <tt>'exclude=17,38'</tt> and not <tt>'exclude=38,17'</tt>).  Note this isn't true at least as 2.1.3 -->
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
139行目: 135行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('exclude=17,38' ); ?&gt; <br />  
wp_list_pages('exclude=17,38' ); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
146行目: 141行目:
  
 
<div id="Include_Pages_in_List">
 
<div id="Include_Pages_in_List">
=== Include Pages in List ===
+
=== 特定のページだけを含める ===
 
</div>
 
</div>
To include only certain Pages in the list, for instance, Pages with ID numbers 35, 7, 26 and 13, use the '''include''' parameter. <!--'''Note''': Page numbers must be in ascending order (i.e. <tt>'include=7,13,26,35'</tt> and not <tt>'include=35,7,26,13'</tt>).  this does not seem to be true at least at 2.1.3-->
+
 
 +
特定のページだけをリストに含めたい場合 (例えば ID 35, 7 ,26, 13 のページ) は、'''include''' パラメータを使用します。
 +
<!--'''Note''': Page numbers must be in ascending order (i.e. <tt>'include=7,13,26,35'</tt> and not <tt>'include=35,7,26,13'</tt>).  this does not seem to be true at least at 2.1.3-->
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
154行目: 151行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('include=7,13,26,35&title_li=&lt;h2>' . __('Pages') . '&lt;/h2>' ); ?&gt; <br />  
wp_list_pages('include=7,13,26,35&title_li=&lt;h2>' . __('Pages') . '&lt;/h2>' ); ?&gt; <br />  
+
 
&lt;/ul&gt;
 
&lt;/ul&gt;
 
</tt>
 
</tt>
161行目: 157行目:
  
 
<div id="List_Sub-Pages_.28versions_prior_to_Wordpress_2.0.1.29">
 
<div id="List_Sub-Pages_.28versions_prior_to_Wordpress_2.0.1.29">
=== List Sub-Pages (versions prior to Wordpress 2.0.1)===
+
=== サブページの表示 (WordPress 2.0.1 以前) ===
 
</div>
 
</div>
Put this inside the <tt>the_post()</tt> section of the page.php template of your WordPress theme after <tt>the_content()</tt>, or put it in a copy of the page.php template that you use for pages that have sub-pages:
+
使用中の WordPress のテーマの page.php テンプレートの <tt>the_post()</tt> セクション内の <tt>the_content()</tt> の後にこれを追加するか、サブページがあるページの page.php テンプレートのコピーに追加します。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
181行目: 177行目:
 
</div>
 
</div>
  
<span style="color:#c00;">NOTE: This example does not work with Wordpress 2.0.1 or newer if placed in a page template because the global $id is not set. Use the following code</span>
+
<span style="color:#c00;">注意: この例は WordPress 2.0.1 以降ではページテンプレートに追加しても $id というグローバル変数がセットされていないので機能しません。以下のコードを使用してください。</span>
  
 
<div id="List_Sub-Pages_.28Wordpress_2.0.1_or_newer.29">
 
<div id="List_Sub-Pages_.28Wordpress_2.0.1_or_newer.29">
=== List Sub-Pages (Wordpress 2.0.1 or newer)===
+
=== サブページの表示 (WordPress 2.0.1 以降) ===
 
</div>
 
</div>
NOTE: Requires an HTML tag (either <tt><nowiki><ul></nowiki></tt> or <tt><nowiki><ol></nowiki></tt>) even if  there are no subpages. Keep this in mind if you are using css to style the list.
+
注意: サブページがない場合でも、HTML タグ (<tt><nowiki><ul></nowiki></tt> <tt><nowiki><ol></nowiki></tt>) が表示されます。スタイルシートを使ってリストのデザインをしている場合はこのことを覚えておいてください。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
192行目: 188行目:
 
<tt>
 
<tt>
 
&lt;ul&gt; <br />
 
&lt;ul&gt; <br />
&lt;?php<br />
+
&lt;?php wp_list_pages('title_li=&child_of='.$post->ID.'&show_date=modified<br />
wp_list_pages('title_li=&child_of='.$post->ID.'&show_date=modified<br />
+
 
&date_format=$date_format'); ?&gt; <br />  
 
&date_format=$date_format'); ?&gt; <br />  
 
&lt;/ul&gt;
 
&lt;/ul&gt;
199行目: 194行目:
 
</div>
 
</div>
  
The following example will generate a list only if there are child (Pages that designate the current page as a Parent) for the current Page:
+
以下の例は表示中のページに子ページ (表示中のページを親ページと設定しているページ) が存在する場合のみリストを表示します。
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
215行目: 210行目:
  
 
<div id="List_subpages_even_if_on_a_subpage">
 
<div id="List_subpages_even_if_on_a_subpage">
=== List subpages even if on a subpage ===
+
=== サブページの中でもサブページのリストを表示する ===
 
</div>
 
</div>
The above examples will only show the children from the parent page, but not when actually on a child page.  This code will show the child pages, and only the child pages, when on a parent or on one of the children.
+
上述の例では親ページでは子ページを表示しますが、子ページでは表示しません。次のコードは親ページでも子ページでも、子ページのリストを表示します。
 
+
** warning ** This code will not work if placed after a widget block in the sidebar.
+
  
 +
<span style="color:#c00;">警告: このコードはウィジェットを使っている場合は機能しません。</span>
  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
 
<div style="padding: 1em; border: 1px dashed #2f6fab;  
239行目: 233行目:
  
 
<div id="Markup_and_styling_of_page_items">
 
<div id="Markup_and_styling_of_page_items">
=== Markup and styling of page items ===
+
=== ページアイテムのマークアップとデザイン ===
 
</div>
 
</div>
 +
デフォルトでは、'''wp_list_pages()''' は [[管理パネル#Write_Page|作成]] > [[Write_Page_SubPanel|ページ]] で作成した WordPress ページを入れ子で順不同のリストに表示します。あなたは最外部のアイテム (<tt>li.pagenav</tt>) をなくすことも、<var>title_li</var> パラメータを空の値にすることもできます。
  
By default, '''wp_list_pages()''' generates a nested, unordered list of WordPress [[Pages]] created with the [[管理パネル#Write_Page|Write]] > [[Write_Page_SubPanel|Page]] admin panel. You can remove the outermost item (<tt>li.pagenav</tt>) and list (<tt>ul</tt>) by setting the <var>title_li</var> parameter to an empty string.
+
'''wp_list_pages()''' が表示するすべてのリストアイテム (<tt>li</tt>) には <tt>page_item</tt> というクラスが付けられています。'''wp_list_pages()''' をページ表示時に呼び出すと、そのページを指すリストアイテムには <tt>current_page_item</tt> というクラスが追加されます。
 
+
All list items (<tt>li</tt>) generated by '''wp_list_pages()''' are marked with the class <tt>page_item</tt>. When '''wp_list_pages()''' is called while displaying a Page, the list item for that Page is given the additional class <tt>current_page_item</tt>.
+
  
 
<pre>
 
<pre>
265行目: 258行目:
 
</pre>
 
</pre>
  
They can be styled with [[用語集#CSS|CSS selectors]]:
+
これらは [[用語集#CSS|CSS セレクタ]]でデザインできます。
  
 
   .pagenav { ... }
 
   .pagenav { ... }
275行目: 268行目:
 
== パラメータ ==
 
== パラメータ ==
 
</div>
 
</div>
; '''sort_column''' (''string''):Sorts the list of Pages in a number of different ways. The default setting is ''sort alphabetically by Page title''.
+
; '''sort_column''' : (''文字列'') ページのリストをいろいろな順序で並び替えます。デフォルトでは'ページタイトルのアルファベット順''に並び替えます
 
+
:* <tt>'post_title'</tt> - (タイトルを) アルファベット順に並び替えます - デフォルト
:* <tt>'post_title'</tt> - Sort Pages alphabetically (by title) - default
+
:* <tt>'menu_order'</tt> - ページ順序によって並び替えます。''要注意'': ''ページ順序''''ページ ID'' に注意してください。ページ ID はそれぞれの記事やページにつけられた唯一の番号です。ページ順序は [[Write_Page_SubPanel|作成 > ページ]] でユーザーがつける番号のことです。[[#List Pages by Page Order|上述の例]]をお読みください
:* <tt>'menu_order'</tt> - Sort Pages by Page Order. ''N.B.'' Note the difference between ''Page Order'' and ''Page ID''. The Page ID is a unique number assigned by WordPress to every post or page. The Page Order can be set by the user in the [[Write_Page_SubPanel|Write>Pages]] administrative panel. See the [[#List Pages by Page Order|example]] below.
+
:* <tt>'post_date'</tt> - 作成日順に並び替えます
:* <tt>'post_date'</tt> - Sort by creation time.
+
:* <tt>'post_modified'</tt> - 最終更新日順に並び替えます
:* <tt>'post_modified'</tt> - Sort by time last modified.
+
:* <tt>'ID'</tt> - ページ ID 順に並び替えます
:* <tt>'ID'</tt> - Sort by numeric Page ID.
+
:* <tt>'post_author'</tt> - ページ作成者の ID 順に並び替えます
:* <tt>'post_author'</tt> - Sort by the Page author's numeric ID.
+
:* <tt>'post_name'</tt> - [[用語集#Slug|ページスラッグ]] (パーマリンク) のアルファベット順に並び替えます
:* <tt>'post_name'</tt> - Sort alphabetically by Post [[用語集#Slug|slug]].
+
 
----
 
----
'''Note:''' The '''sort_column''' parameter can be used to sort the list of Pages by the descriptor of any field in the [[データベース概要#Table:_wp_posts|wp_post table]] of the WordPress database. Some useful examples are listed here.
+
'''注意''''''sort_column''' パラメータは WordPress のデータベースの [[データベース概要#Table:_wp_posts|wp_post テーブル]]内のあらゆるフィールドの記述子を使ってページのリストを並び替えることができます。
 
----
 
----
  
; '''sort_order''' (''string''):Change the sort order of the list of Pages (either ascending or descending). The default is ''ascending''. Valid values:
+
; '''sort_order''' : (''文字列'') ページリストの並び順を変更します (昇順または降順)。デフォルトは''昇順''です
:* <tt>'asc'</tt> - Sort from lowest to highest (Default).
+
:* <tt>'asc'</tt> - 低いほうから高いほうへ並び替えます
:* <tt>'desc'</tt> - Sort from highest to lowest.
+
:* <tt>'desc'</tt> - 高いほうから低いほうへ並び替えます
  
; '''exclude''' (''string''):Define a comma-separated list of Page IDs to be excluded from the list (example: <tt>'exclude=3,7,31'</tt>). There is no default value. See the [[#Exclude Pages from List|Exclude Pages from List]] example below.
+
; '''exclude''' : (''文字列'') リストから除外したいページの ID をコンマで区切ったリストで定義します (: <tt>'exclude=3,7,31'</tt>)。デフォルト値はありません。[[#Exclude Pages from List|特定のページを除外する例]]をお読みください。
  
; '''include''' (''string''):Only include certain Pages in the list generated by ''wp_list_pages''. Like '''exclude''', this parameter takes a comma-separated list of Page IDs. There is no default value. See the [[#Include Pages in List|Include Pages in List]] example below.
+
; '''include''' : (''文字列'') ''wp_list_pages'' で表示されるリストに特定のページだけを含めます。'''exclude''' と同様に、このパラメータもコンマで ID を区切ったリストで定義します。[[#Include Pages in List|特定のページだけを含める例]]をお読みください
  
; '''depth''' (''integer''):This parameter controls how many levels in the hierarchy of pages are to be included in the list generated by ''wp_list_pages''. The default value is ''0'' (display all pages, including all sub-pages).
+
; '''depth''' : (''数値'') このパラメータは ''wp_list_pages'' で表示されるリストに含めるページの階層レベルを設定します。デフォルト値は '''0''' です (すべてのページとサブページを表示します)
:* <tt>0</tt> - Pages and sub-pages displayed in hierarchical (indented) form (Default).
+
:* <tt>0</tt> - ページとサブページを親子関係を維持して (インデントして) 表示します (デフォルト)
:* <tt>-1</tt> - Pages in sub-pages displayed in flat (no indent) form.
+
:* <tt>-1</tt> - ページとサブページを同列に (インデントなし) 表示します
:* <tt>1</tt> - Show only top level Pages
+
:* <tt>1</tt> - トップレベルのページのみ表示します
:* <tt>2</tt> - Value of 2 (or greater) specifies the depth (or level) to descend in displaying Pages.
+
:* <tt>2</tt> - 2 (またはそれ以上) の値は表示するページの深さ (レベル) を特定します
 
   
 
   
; '''child_of''' (''integer''):Displays the sub-pages of a single Page only; uses the ID for a Page as the value. Defaults to ''0'' (displays all Pages).
+
; '''child_of''' : (''数値'') ページ ID を値としてそのページのサブページを表示します。デフォルト値は '''0''' です (すべてのページを表示)
  
; '''show_date''' (''string''):Display creation or last modified date next to each Page. The default value is the ''null value'' (do not display dates). Valid values:
+
; '''show_date''' : (''文字列'') それぞれのページの作成日または最終更新日を表示します。デフォルト値は''''です (日付を表示しません)
:* <tt>'<nowiki></nowiki>'</tt> - Display no date (Default).
+
:* <tt>'<nowiki></nowiki>'</tt> - 日付を表示しません (デフォルト)
:* <tt>'modified'</tt> - Display the date last modified.
+
:* <tt>'modified'</tt> - 最終更新日を表示します
:* <tt>'xxx'</tt> - Any value other than ''modified'' displays the date ('''post_date''') the Page was first created. See the [[#Sort Pages by Post Date|example]] below.
+
:* <tt>'xxx'</tt> - ''modified'' 以外の値は作成日 ('''post_date''') を表示します。[[#Sort Pages by Post Date|上述の例]]をお読みください
  
; '''date_format''' (''string''):Controls the format of the Page date set by the '''show_date''' parameter (example: "<tt><nowiki>l, F j, Y</nowiki></tt>"). This parameter defaults to the date format configured in your WordPress options. See [[Formatting Date and Time]] and the [http://php.net/date date format page on the php web site].
+
; '''date_format''' : (''文字列'') '''show_date''' パラメータで使うページの日付の書式を設定します (: "<tt><nowiki>l, F j, Y</nowiki></tt>")。このパラメータは WordPress の管理画面で設定した日付フォーマットをデフォルトとします。[[Formatting Date and Time|日付と時刻の書式]][http://php.net/date date format page on the php web site]をお読みください
  
; '''title_li''' (''string''):Set the text and style of the Page list's heading. Defaults to <tt>'__('Pages')'</tt>, which displays "Pages" (the <tt>__(&#039;&#039;)</tt> is used for [[Localization|localization purposes]]). If passed a null or empty value (<tt>&#039;&#039;</tt>), no heading is displayed, and the list will not be wrapped with <tt>&lt;ul>, &lt;/ul></tt> tags. See the example for [[#Hiding or Changing the List Heading|Headings]].
+
; '''title_li''' : (''文字列'') ページリストの見出しのテキストとスタイルを設定します。デフォルトは「<tt>__('Pages')</tt>」です。ブログ上では「ページ」と表示されます (<tt>__(&#039;&#039;)</tt> [[Localization|ローカライゼーション]]のためのものです)。空の値のとき (<tt>&#039;&#039;</tt>) は見出しを表示しません。また、リストは <tt>&lt;ul>, &lt;/ul></tt> タグで包まれていません。[[#Hiding or Changing the List Heading|見出しの例]]をお読みください
  
; '''echo''' (''boolean''):Toggles the display of the generated list of links or return the list as an HTML text string to be used in PHP. The default value is ''1'' (display the generated list items). Valid values:
+
; '''echo''' : (''真偽値'') ページリストを表示するか、PHP で使うために HTML テキストとして返すかを設定します。デフォルト値は '''1''' (リストを表示) です。
:* <tt>1 (true)</tt> - default
+
:* <tt>1 (true)</tt> - デフォルト
 
:* <tt>0 (false)</tt>
 
:* <tt>0 (false)</tt>
  
; hierarchical : (''boolean'') Display sub-Pages in an indented manner below their parent or list the Pages inline.  The default is ''true'' (display sub-Pages indented below the parent list item). Valid values:
+
; hierarchical : (''真偽値'') サブページを親ページの下にインデントして表示するかインラインで表示するかを設定します。デフォルトは ''true'' です (サブページを親ページの下にインデントして表示)
:* <tt>1 (true)</tt> - default
+
:* <tt>1 (true)</tt> - デフォルト
 
:* <tt>0 (false)</tt>
 
:* <tt>0 (false)</tt>
  
; meta_key : (''string'') Only include the Pages that have this Custom Field Key (use in conjunction with the meta_value field).
+
; meta_key : (''文字列'') ここに記述したカスタムフィールドキーを持つページだけを表示します (meta_value フィールドと同時に使います)
; meta_value : (''string'') Only include the Pages that have this Custom Field Value (use in conjuntion with the meta_key field).
+
 
 +
; meta_value : (''文字列'') ここに記述したカスタムフィールド値を持つページだけを表示します (meta_key フィールドと同時に使います)
  
 
<div id="Related">
 
<div id="Related">
329行目: 322行目:
  
 
{{Tag General Tags}}
 
{{Tag General Tags}}
 
 
{{Query String Tag Footer}}
 
{{Query String Tag Footer}}
  
335行目: 327行目:
  
 
{{DEFAULTSORT:wp_list_pages}}
 
{{DEFAULTSORT:wp_list_pages}}
 +
[[Category:wp1.5]]
 +
[[Category:wp2.0]]
  
 
[[en:Template Tags/wp_list_pages]]
 
[[en:Template Tags/wp_list_pages]]

2008年4月5日 (土) 00:56時点における版

テンプレートタグ wp_list_pages() は WordPress ページへのリンクのリスト (以下ページリストとする) を表示します。しばしばサイドバーヘッダーをカスタマイズするのに使われますが、他のテンプレートにも同様に使えるかもしれません。

このテンプレートタグは WordPress 1.5 以降で使用できます。

使い方

<?php wp_list_pages('arguments'); ?>

用例

初期設定での使用

$defaults = array(
    'depth'       => 0, 
    'show_date'   => '',
    'date_format' => get_option('date_format'),
    'child_of'    => 0, 
    'exclude'     => '',
    'title_li'    => __('Pages'), 
    'echo'        => 1,
    'authors'     => '',
    'sort_column' => 'menu_order, post_title');

デフォルトでは以下のように動作します。

  • すべてのページとサブページを表示します (階層制限はありません)
  • ページの作成日は表示しません
  • すべてのページの子ページに関する制限はありません
  • 除外されるページはありません
  • リストの見出しが「ページ」となります
  • 結果は echo されます (表示されます)
  • ページの作成者による制限はありません
  • ページのタイトル順にソートされます
  • 昇順にソートされます (上述の例には載っていません)
  • ページの親子関係をインデントして表示します (上述の例には載っていません)
  • すべてのページが含まれます (上述の例には載っていません)
  • 特定のメタキーやメタ情報による制限はありません (上述の例には載っていません)
wp_list_pages();

リストの見出しを隠す、変える

wp_list_pages が表示するページリストのデフォルトの見出し (「ページ」) は title_li パラメータに空の値を入れると表示しなくすることができます。以下の例はページリストの上に見出しのテキストを表示しません。

<ul>
<?php wp_list_pages('title_li='); ?>
</ul>

下記の例では ID が 9, 5, 23 のページだけを表示し、見出しのテキストを「Poetry」に置き換え、タグを <h2> に変更しています。

<ul>
<?php wp_list_pages('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>' ); ?>
</ul>

リストの順序を変える

下の例では 作成 > ページ で設定されたページ順序に従ってページリストを表示します。

<ul>
<?php wp_list_pages('sort_column=menu_order'); ?>
</ul>

もしページ順序に従ってページリストを表示し、サイドバーに表示される見出しを「Prose」 (h2 タグスタイルで) と表示したい場合は、下のコードを sidebar.php ファイルに追加してください (サイドバーウィジェットを使用している場合は管理画面から)。

<ul>
<?php wp_list_pages('sort_column=menu_order&title_li=<h2>' . __('Prose') . '</h2>' ); ?>
</ul>

以下のコードを使うと、見出しなしでページ順序に従い表示します。

<ul>
<?php wp_list_pages('sort_column=menu_order&title_li='); ?>
</ul>

作成日順に並び替える

この例はページの作成日でソートし、その日付をページごとに表示します。

<ul>
<?php wp_list_pages('sort_column=post_date&show_date=created'); ?>
</ul>

特定のページを除外する

exclude パラメータを使うと、wp_list_pages が表示するページリストから特定のページを除外することができます。あるページを除外すると、そのページのサブページも同時に除外されます。

<ul>
<?php wp_list_pages('exclude=17,38' ); ?>
</ul>

特定のページだけを含める

特定のページだけをリストに含めたい場合 (例えば ID が 35, 7 ,26, 13 のページ) は、include パラメータを使用します。

<ul>
<?php wp_list_pages('include=7,13,26,35&title_li=<h2>' . __('Pages') . '</h2>' ); ?>
</ul>

サブページの表示 (WordPress 2.0.1 以前)

使用中の WordPress のテーマの page.php テンプレートの the_post() セクション内の the_content() の後にこれを追加するか、サブページがあるページの page.php テンプレートのコピーに追加します。

<ul>
<?php
global $id; // teensy bit insane, sorry
$date_format = '<\b\r /><\s\p\a\n '. '\s\t\y\l\e="\f\o\n\t-\s\i\z\e: \s\m\a\l\l\e\r">'. '\l\a\s\t\m\o\d Y-n-j</\s\p\a\n>'; wp_list_pages("title_li=&child_of=$id&show_date=modified
&date_format=$date_format"); ?>
</ul>

注意: この例は WordPress 2.0.1 以降ではページテンプレートに追加しても $id というグローバル変数がセットされていないので機能しません。以下のコードを使用してください。

サブページの表示 (WordPress 2.0.1 以降)

注意: サブページがない場合でも、HTML タグ (<ul><ol>) が表示されます。スタイルシートを使ってリストのデザインをしている場合はこのことを覚えておいてください。

<ul>
<?php wp_list_pages('title_li=&child_of='.$post->ID.'&show_date=modified
&date_format=$date_format'); ?>
</ul>

以下の例は表示中のページに子ページ (表示中のページを親ページと設定しているページ) が存在する場合のみリストを表示します。

<?php
$children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
if ($children) { ?>
<ul>
<?php echo $children; ?>
</ul>
<?php } ?>

サブページの中でもサブページのリストを表示する

上述の例では親ページでは子ページを表示しますが、子ページでは表示しません。次のコードは親ページでも子ページでも、子ページのリストを表示します。

警告: このコードはウィジェットを使っている場合は機能しません。

<?php
if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul>
<?php echo $children; ?>
</ul>
<?php } ?>

ページアイテムのマークアップとデザイン

デフォルトでは、wp_list_pages()作成 > ページ で作成した WordPress ページを入れ子で順不同のリストに表示します。あなたは最外部のアイテム (li.pagenav) をなくすことも、title_li パラメータを空の値にすることもできます。

wp_list_pages() が表示するすべてのリストアイテム (li) には page_item というクラスが付けられています。wp_list_pages() をページ表示時に呼び出すと、そのページを指すリストアイテムには current_page_item というクラスが追加されます。

<li class="pagenav">
  Pages
  <ul>
    <li class="page_item current_page_parent">
      [parent of the current page]
      <ul>
        <li class="page_item current_page_item">
          [the current page]
        </li>
      </ul>
    </li>
    <li class="page_item">
      [another page]
    </li>
  </ul>
</li>

これらは CSS セレクタでデザインできます。

 .pagenav { ... }
 .page_item { ... }
 .current_page_item { ... }
 .current_page_parent { ... }

パラメータ

sort_column 
(文字列) ページのリストをいろいろな順序で並び替えます。デフォルトでは'ページタイトルのアルファベット順に並び替えます
  • 'post_title' - (タイトルを) アルファベット順に並び替えます - デフォルト
  • 'menu_order' - ページ順序によって並び替えます。要注意: ページ順序ページ ID に注意してください。ページ ID はそれぞれの記事やページにつけられた唯一の番号です。ページ順序は 作成 > ページ でユーザーがつける番号のことです。上述の例をお読みください
  • 'post_date' - 作成日順に並び替えます
  • 'post_modified' - 最終更新日順に並び替えます
  • 'ID' - ページ ID 順に並び替えます
  • 'post_author' - ページ作成者の ID 順に並び替えます
  • 'post_name' - ページスラッグ (パーマリンク) のアルファベット順に並び替えます

注意: sort_column パラメータは WordPress のデータベースの wp_post テーブル内のあらゆるフィールドの記述子を使ってページのリストを並び替えることができます。


sort_order 
(文字列) ページリストの並び順を変更します (昇順または降順)。デフォルトは昇順です
  • 'asc' - 低いほうから高いほうへ並び替えます
  • 'desc' - 高いほうから低いほうへ並び替えます
exclude 
(文字列) リストから除外したいページの ID をコンマで区切ったリストで定義します (例: 'exclude=3,7,31')。デフォルト値はありません。特定のページを除外する例をお読みください。
include 
(文字列) wp_list_pages で表示されるリストに特定のページだけを含めます。exclude と同様に、このパラメータもコンマで ID を区切ったリストで定義します。特定のページだけを含める例をお読みください
depth 
(数値) このパラメータは wp_list_pages で表示されるリストに含めるページの階層レベルを設定します。デフォルト値は 0 です (すべてのページとサブページを表示します)。
  • 0 - ページとサブページを親子関係を維持して (インデントして) 表示します (デフォルト)
  • -1 - ページとサブページを同列に (インデントなし) 表示します
  • 1 - トップレベルのページのみ表示します
  • 2 - 2 (またはそれ以上) の値は表示するページの深さ (レベル) を特定します
child_of 
(数値) ページ ID を値としてそのページのサブページを表示します。デフォルト値は 0 です (すべてのページを表示)。
show_date 
(文字列) それぞれのページの作成日または最終更新日を表示します。デフォルト値はです (日付を表示しません)。
  • '' - 日付を表示しません (デフォルト)
  • 'modified' - 最終更新日を表示します
  • 'xxx' - modified 以外の値は作成日 (post_date) を表示します。上述の例をお読みください
date_format 
(文字列) show_date パラメータで使うページの日付の書式を設定します (例: "l, F j, Y")。このパラメータは WordPress の管理画面で設定した日付フォーマットをデフォルトとします。日付と時刻の書式date format page on the php web siteをお読みください
title_li 
(文字列) ページリストの見出しのテキストとスタイルを設定します。デフォルトは「__('Pages')」です。ブログ上では「ページ」と表示されます (__('')ローカライゼーションのためのものです)。空の値のとき ('') は見出しを表示しません。また、リストは <ul>, </ul> タグで包まれていません。見出しの例をお読みください
echo 
(真偽値) ページリストを表示するか、PHP で使うために HTML テキストとして返すかを設定します。デフォルト値は 1 (リストを表示) です。
  • 1 (true) - デフォルト
  • 0 (false)
hierarchical 
(真偽値) サブページを親ページの下にインデントして表示するかインラインで表示するかを設定します。デフォルトは true です (サブページを親ページの下にインデントして表示)
  • 1 (true) - デフォルト
  • 0 (false)
meta_key 
(文字列) ここに記述したカスタムフィールドキーを持つページだけを表示します (meta_value フィールドと同時に使います)。
meta_value 
(文字列) ここに記述したカスタムフィールド値を持つページだけを表示します (meta_key フィールドと同時に使います)。


記事

コードドキュメンテーション

  • クラス: WP_Query - WP_Query クエリの詳細概要
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方概要
  • 関数: get_query_var()
  • 関数: query_posts() - 追加カスタムクエリの作成
  • 関数: get_post() - 項目の ID を使ってその投稿のレコードをデータベースから取得する
  • 関数: get_posts() - 項目の配列を返す特別な関数。
  • 関数: get_pages() - ページの配列を返す特別な関数。
  • 関数: have posts() - クエリが記事を返すかどうか判断する条件分岐。
  • 関数: the_post() - クエリの後に自動的にループを設定するのに使われる。
  • 関数: rewind_posts() - 現在のループをクリアする。
  • 関数: setup_postdata() - ループ内で単一クエリ結果のデータを設定する。
  • 関数: wp_reset_postdata() - 以前のクエリを復元する(通常、ループ内のもう一つのループで使われる)。
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更するのがメインクエリであるよう保証する。
  • アクションフック: pre_get_posts - 実行される前に WordPress クエリを変更する。
  • アクションフック: the_post - 投稿オブジェクトをクエリの後に変更する。
  • フィルターフック: found_posts - found_posts WP_Query オブジェクトの値を変更する


関連

固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


テンプレートタグへのクエリ文字列型パラメータの渡し方関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Template Tags/wp_list_pages最新版との差分