WordPress テーマの詳説:第三章

ページリスト

「ページ」は WordPress 1.5 の新機能で、通常の時系列順のブログ記事とは別に「静的」なコンテンツの作成を可能にする。 これは例えば、連絡先や著者略歴などのより永続的なコンテンツ用にとても便利な機能だ。

訪問者がナビゲートできるように、大抵の場合ページリストはサイドバーに置くといいだろう。 そうするには次のようにする:

<?php wp_list_pages(‘title_li=<h2>’ . __(‘Pages’) . ‘’ ); ?>

このコードは今までに説明したサイドバーのセクションとは似ていないことに気づいたと思う。 wp_list_pages 関数の詳細については Codex で見つけることができる。

この例では次のパラメータがこの関数に渡される:

title_li=<h2>’ . __(’Pages’) . ‘</h2>

これはこのページリストのタイトルが <h2>Pages</h2> であることをこの関数に指示している。 デフォルトでは、wp_list_pages 関数は他のサイドバーのセクションと同じように順序のないリストとしてページリストを返している。

WordPress の国際化関数がここで使われている:__(‘Pages’)。 これは__()と呼ばれる関数で、_e()と同じ働きをするが、スクリーンに該当文字列をエコーするのではなく、さらに処理を施したもの返す。

Codex ではこの関数が取り得る他の引数を何個か説明しているが、ここでも少し説明しよう。

デフォルトではこのリストは複数のページ階層を持つ。 この階層の深さは次のように設定することができる:

<?php wp_list_pages(‘title_li=<h2>’.__(‘Pages’).‘&depth=1′); ?>
左:複数階層、右:単一階層

また、ページタイトルとともに他の情報を表示させることもできる。 ここではページが最後に更新された時間を表示させてみた:

<?php wp_list_pages(‘title_li=<h2>’.__(‘Pages’).‘&show_date=modified’); ?>

便利な機能として特定のページを除外することができる:

<?php wp_list_pages(‘title_li=<h2>’.__(‘Pages’).‘&exclude=9′);?>

この除外するページ ID 番号(ここでは ‘Parent test’ の9)は WordPress の管理画面で確認することができる。

アーカイブ

このアーカイブセクションではブログ投稿の履歴を表示している。 ブログを書いてきた期間が長ければ長いほどより多くの投稿記事があるだろう。

<li><h2><?php _e(‘Archives’); ?></h2>

  <ul>
  <?php wp_get_archives(‘type=monthly’); ?>

  </ul>

</li>

wp_get_pages 関数と同じように wp_get_archives 関数もいくつかのパラメータを取る。 上の例では最大12ヶ月分の月ごとのアーカイブを表示する。 Codex ではこの関数のすべてのオプションを知ることができる。

例えば出力を変更して最近4週間分のアーカイブを表示させるには:

<?php wp_get_archives(‘type=weekly&limit=4’); ?>

header.php を覗いてみるとそこでも wp_get_archives 関数が呼び出されているのが分かるだろう。

<?php wp_get_archives (‘type=monthly&format=link’); ?>

これは一連のアーカイブ・リンクを提供し、適切なブラウザーならユーザーにとってナビゲーションの助けとなる。

カテゴリー

ご想像のとおりこのセクションはカテゴリーを表示する。 カテゴリーは管理画面で設定されていて投稿記事に割り当てられる。

<li><h2><?php _e(‘Categories’); ?></h2>

  <ul>
  <?php list_cats(0, ‘’, ‘name’, ‘asc’, ‘’, 1, 0, 1, 1, 1, 1, 0,‘’,‘’,‘’,‘’,‘’) ?>

  </ul>
</li>

この list_cats 関数はたくさんの引数を取り、そのすべてが Codex で説明されている。 テキスト文字列の引数を取る同等の関数 wp_list_cats もある。 こちらの方がかなり簡明で、上の関数呼び出しは次のように書き換えることができる:

<?php wp_list_cats (‘sort_column=name&optioncount=1’) ?>

他のセクションと全く同じように、カテゴリーの見た目も他にフィットするよう変更することができる。

メタデータ

このセクションは WordPress へのリンク、XHTML 検証サイト、XFN、そしてすべてのブログロール関連リンクが含まれている。

<?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?>       

  <?php get_links_list(); ?>

 
  <li><h2><?php _e(‘Meta’); ?></h2>

  <ul>
    <?php wp_register(); ?>

    <li><?php wp_loginout(); ?></li>

    <li><a href=“http://validator.w3.org/check/referer” title=“<?php _e(’This page validates as XHTML 1.0 Transitional’); ?>”><?php _e(‘Valid <abbr title=”eXtensible HyperText Markup Language”>XHTML’); ?></a></li>

    <li><a href=“http://gmpg.org/xfn/”><abbr title=“XHTML Friends Network”>XFN</abbr></a></li>
    <li><a href=“http://wordpress.org/” title=“<?php _e(’Powered by WordPress, state-of-the-art semantic personal publishing platform.’); ?>”>WordPress</a></li>

    <?php wp_meta(); ?>
  </ul>
  </li>

<?php } ?>

このセクション全体が if 文に囲まれている:

if ( is_home() || is_page() )

この情報はホームページ(訳注:そのサイトのトップページのこと)や WordPress の機能である「ページ」を閲覧しているときにのみ表示される。 コンテンツに関わらずリンクを表示したいのなら if 文と囲んでいる括弧を取り除く。

ブログロールは次の呼び出しで表示される:

<?php get_links_list(); ?>

この関数で唯一利用可能なオプションはリンクの順番の変更だ。

次はメタデータだ。 ここは通常のリンクで構成され、いくつかの特別な関数を呼び出す:

  • wp_register –「登録」リンクもしくは既にログインしていれば「サイト管理」リンクを表示
  • wp_loginout –「ログイン」もしくは「ログアウト」のリンクを表示
  • wp_meta – メタ関係のすべてのプラグインを機能させる

これらのリンクは必要不可欠というわけではなく、自分で必要なものを追加することもできる。 私は XFN は必要ないので外した。

その他追加的なサイドバーの関数

上でも書いたが、サイドバーに置けるものと置けないものの決まりはない。 ここに適当なデータを入れるプラグインはたくさんあって、それらは WordPress Plugin Database で見つけることができる。

また、便利な関数も最初からいくつか備わっている。 利用可能なすべての関数に関する詳細は Codex で見つけることができる。 ここでは、よくあるブログの投稿日が強調表示されるカレンダーを表示する関数を紹介しよう。 これはナビゲーションの良い助けになり、訪問者が最近の投稿記事を探す時にアーカイブを探しまわらなくてすむ。

メタデータ情報の前にカレンダーを追加してみよう:

<li><h2><?php _e(‘Categories’); ?></h2>
  <ul>
  <?php list_cats(0, ‘’, ‘name’, ‘asc’, ‘’, 1, 0, 1, 1, 1, 1, 0,‘’,‘’,‘’,‘’,‘’) ?>

  </ul>
</li>

<li><h2><?php _e(‘Calendar’) ?></h2><?php get_calendar () ?></li>     

<?php if ( is_home() || is_page() ) { ?>

このようになる:

では次のページでスタイリングしていこう。

「WordPress テーマの詳説:第三章」への1件のフィードバック

コメントは停止中です。