固定ページをリンク付きで一覧表示させることができます。
任意の形やスタイルで固定ページ一覧を出力するには、必要に応じてwp_list_pages
か、 get_pages
の関数(テンプレートタグ)を使います。
目次
全ての固定ページの一覧をリスト出力
関数(テンプレートタグ)のwp_list_pages
は、固定ページの階層構造を一覧で出力してくれる関数で、以下のように記述します。
<?php wp_list_pages(); ?>
この記述は、自動的に設定された <li>
タグやスタイルが書き出されるので、設定したclass
名やspan
タグを使用したい場合は、PHPの str_replace
の置換関数を使用して記述します。
単純に <span>
タグを挿入したい場合、以下のように記述します。
<ul id="navi">
<?php
$pages = wp_list_pages('title_li=&echo=0');
$pages = str_replace('</li>', '<span></span></li>', $pages);
echo $pages;
?>
</ul>
「固定ページ」無しで全ての固定ページの一覧をリスト出力
<?php wp_list_pages(); ?>
の関数で出力した先頭には「固定ページ」の見出しが付き、その後に各ページがリストで出力されます。
このように、先頭に「固定ページ」の見出しを付けずに固定ページの一覧をリスト出力する場合は、以下のコードを使います。
<ul>
<?php wp_list_pages('title_li='); ?>
</ul>
特定のページを除外して固定ページの一覧をリスト出力
指定した一部のページを除外して一覧を出力するには、パラメーター exclude
を追加します。
<ul>
<?php wp_list_pages('title_li=&exclude=12,13'); ?>
</ul>
上記のコードは、「固定ページ」の見出しを削除して、ページID「12,13」のページを除外して一覧を出力する場合のコードです。
全ての固定ページの一覧をドロップダウン形式で出力
関数(テンプレートタグ)の get_pages
も固定ページの一覧を取得する関数ですが、パラメータでより絞り込むことができます。
リスト以外の方法で出力する場合は、この関数を使用して、リンク付きの全固定ページをドロップダウン形式で出力する場合、以下のように記述します。
<select name="page-dropdown"
onchange='document.location.href=this.options[this.selectedIndex].value;'>
<option value="">
<?php echo esc_attr( __( 'Select page' ) ); ?></option>
<?php
$pages = get_pages();
foreach ( $pages as $page ) {
$option = '<option value="' . get_page_link( $page->ID ) . '">';
$option .= $page->post_title;
$option .= '</option>';
echo $option;
}
?>
</select>
全ての固定ページの一覧をテーブルで出力
リンク付きの全固定ページをテーブルで出力する場合、get_pages
の関数(テンプレートタグ)で以下のように記述します。
<table>
<?php
$pages = get_pages();
foreach ( $pages as $page ) {
$option = '<tr><td><a href="' . get_page_link( $page->ID ) . '">';
$option .= $page->post_title;
$option .= '</a></td><td>';
$option .= ページの説明文;
$option .= '</td><tr>';
echo $option;
}
?>
</table>