カテゴリ、固定ページに対応した、WordPressでのパン屑リストの出力方法まとめ

  • 36907
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

主に、企業様向けのWordPressサイト(やブログ)で利用する機会が多いかもしれませんので、WordPress でカテゴリ、固定ページに対応したパン屑リストの出力が必要になったのでまとめてみました。

投稿ページでのパン屑リスト

まずは「投稿」ページで、
HOME > カテゴリ > 記事のタイトル
のようにパン屑リストを出力する方法です。
<div>
<a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a>&nbsp;>&nbsp;
<?php $cat = get_the_category(); echo get_category_parents($cat[0], true, '&nbsp;>&nbsp;'); ?>
<?php the_title(''); ?>
</div>

上記を single.php に記述するわけですが、テーマファイルの構成にもよるかと思いますが、うまく出力されない場合は、以下でも試してみてください。
<?php $post = $posts[0]; ?>
<div>
<a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a>&nbsp;>&nbsp;
<?php $cat = get_the_category(); echo get_category_parents($cat[0], true, '&nbsp;>&nbsp;'); ?>
<?php the_title(''); ?>
</div>


固定ページでのパン屑リスト

続いて「固定ページ」ですが、
HOME > 親ページ > 現在のページ(子ページ)
のように、固定ページが親子構造になっている場合にパン屑リストを出力する方法です。
<div>
<a href="<?php echo get_option('home'); ?>">HOME</a>&nbsp;>&nbsp;</li>
<?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parid ) { ?>
<a href="<?php echo get_page_link( $parid );?>" title="<?php echo get_page($parid)->post_title; ?>">
<?php echo get_page($parid)->post_title; ?></a>&nbsp;>&nbsp;
<?php } ?>
<?php the_title(''); ?>
</div>

※カテゴリ、固定ページのソースともにレイアウトはCSS で適宜修正が必要になります。
※また WordPress 3.0以上だと、get_option(‘home’); の替わりに home_url(); でも可能です。これはサイト(ブログ)TOPへのリンクURLになります。

  • 36907
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この投稿と関連する記事一覧

この記事に関するコメント

コメントを残す