パンくずリストについて
続いて、個別の投稿、固定ページ、アーカイブページ用のパンくずリストを作成しておきましょう。
パンくずリストは、表示させるページによって内容が異なります。 条件分岐によって切り替えるよりも、表示させるページによって切り替えるとシンプルに実装できます。
個別の投稿ページ
まずは個別の投稿ページから作成していきましょう。
ますはsingle.phpに追記します。
<?php
get_header();
//追記
get_template_part('templates/breadcrumb', 'single');
while(have_posts() === true){
the_post();
get_template_part('templates/content', 'single');
}
get_footer();
続いて、templates/breadcrumb-single.phpを作成します。
<?php
//カテゴリーの一覧から先頭を取得
$first_category = get_the_category()[0];
?>
<span class="breadcrumb" >
HOME >
<?php print get_category_parents($first_category, true, ' > '); ?>
<?php the_title(); ?>
</span>
get_category_parents()は第一引数に指定したカテゴリーをもとに、第3引数で指定した区切り文字で親カテゴリから順に並べた文字列を作成します。第2引数にtrueを設定することで、カテゴリー名をリンクにすることが可能です。
固定ページ
固定ページについても同様にパンくずリストを作成します。 まずはpage.phpに追記します。
<?php
get_header();
//追記
get_template_part( 'templates/breadcrumb', 'page' );
while(have_posts() === true){
the_post();
get_template_part('templates/content', 'page');
}
get_footer();
続いて、templates/breadcrumb-page.phpを作成します。
<span class="breadcrumb" >
HOME > <?php the_title(); ?>
</span>
アーカイプページ
アーカイブページについても同様にパンくずリストを作成します。 まずはarchive.phpに追記します。
<?php
get_header('archive');
//追記
get_template_part( 'templates/breadcrumb', 'archive' );
while(have_posts() === true){
the_post();
get_template_part('templates/content');
}
get_template_part('templates/pagination');
get_footer();
<span class="breadcrumb" >
HOME > <?php the_archive_title(); ?>
</span>
the_archive_titleを利用して、カテゴリー名やタグ名などを表示させています。
get_the_archive_titleフィルターフックを利用して、the_archive_titleで表示される内容をカスタマイズすることもできます。確認しておきましょう。