主に、企業様向けのWordPressサイト(やブログ)で利用する機会が多いかもしれませんので、WordPress でカテゴリ、固定ページに対応したパン屑リストの出力が必要になったのでまとめてみました。
投稿ページでのパン屑リスト
まずは「投稿」ページで、HOME > カテゴリ > 記事のタイトル
のようにパン屑リストを出力する方法です。<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 に記述するわけですが、テーマファイルの構成にもよるかと思いますが、うまく出力されない場合は、以下でも試してみてください。
<?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 > 親ページ > 現在のページ(子ページ)
のように、固定ページが親子構造になっている場合にパン屑リストを出力する方法です。<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 で適宜修正が必要になります。
※また WordPress 3.0以上だと、get_option(‘home’); の替わりに home_url(); でも可能です。これはサイト(ブログ)TOPへのリンクURLになります。
コメントを残す