主に、企業様向けのWordPressサイト(やブログ)で利用する機会が多いかもしれませんので、WordPressでカテゴリ、固定ページに対応したパン屑リストの出力が必要になったのでまとめてみました。
投稿ページでのパン屑リスト
まずは「投稿」ページで、HOME > カテゴリ > 記事のタイトル
のようにパン屑リストを出力する方法です。
1 2 3 4 5 |
<div> <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> > <?php $cat = get_the_category(); echo get_category_parents($cat[0], true, ' > '); ?> <?php the_title(''); ?> </div> |
上記を single.phpに記述するわけですが、テーマファイルの構成にもよるかと思いますが、うまく出力されない場合は、以下でも試してみてください。
1 2 3 4 5 6 |
<?php $post = $posts[0]; ?> <div> <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> > <?php $cat = get_the_category(); echo get_category_parents($cat[0], true, ' > '); ?> <?php the_title(''); ?> </div> |
固定ページでのパン屑リスト
続いて「固定ページ」ですが、HOME > 親ページ > 現在のページ(子ページ)
のように、固定ページが親子構造になっている場合にパン屑リストを出力する方法です。
1 2 3 4 5 6 7 8 |
<div> <a href="<?php echo get_option('home'); ?>">HOME</a> > </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> > <?php } ?> <?php the_title(''); ?> </div> |
※カテゴリ、固定ページのソースともにレイアウトはCSSで適宜修正が必要になります。
※また、WordPress3.0以上だと、get_option(‘home’);の替わりにhome_url();でも可能です。これはサイト(ブログ)TOPへのリンクURLになります。
参考ページ
http://weble.org/2011/02/18/wordpress-blog-breadcrumbs
http://www.strollnet.com/wordpress/technique/467/
コメント