プラグインを使わずに、自作のパンくずリストを表示させます。
投稿ではカテゴリーの親、タグの親。固定ページでは固定ページの親も表示させます。
そして見た目はbootstrapのスタイルを使用します。
できれば子テーマの
■function.php
/* パンくずリスト */
function mytheme_breadcrumb() {
//HOME>と表示
echo '<ol class="breadcrumb">';
echo '<li><a href="'.get_bloginfo('url').'" >HOME</a></li>';
//投稿記事ページとカテゴリーページでの、カテゴリーの階層を表示
$cats = '';
$cat_id = '';
if ( is_single() ) {
$cats = get_the_category();
if( isset($cats[0]->term_id) ) $cat_id = $cats[0]->term_id;
}
else if ( is_category() ) {
$cats = get_queried_object();
$cat_id = $cats->parent;
}
$cat_list = array();
while ($cat_id != 0){
$cat = get_category( $cat_id );
$cat_link = get_category_link( $cat_id );
array_unshift( $cat_list, '<a href="'.$cat_link.'">'.$cat->name.'</a>' );
$cat_id = $cat->parent;
}
foreach($cat_list as $value){
echo '<li>'.$value.'</li>';
}
//固定ページの親を表示
if(get_post_type()=="page"){
$page_id =$wp_obj->ID;
$page_title = apply_filters('the_title', $wp_obj->post_title);
//親ページがあれば順番に表示
if ( $wp_obj->post_parent !== 0 ) {
$parent_array = array_reverse( get_post_ancestors( $page_id ) );
foreach( $parent_array as $parent_id ) {
$parent_link = esc_url( get_permalink( $parent_id ) );
$parent_name = esc_html( get_the_title( $parent_id ) );
echo '<li>'.
'<a href="'. $parent_link .'">'.
$parent_name .
'</a>'.
'</li>';
}
}
}
//現在のページ名を表示
if ( is_singular() ) {
if ( is_attachment() ) {
previous_post_link( '<li>%link</li>' );
echo $sep;
}
the_title( '<li>', '</li>' );
}
else if( is_archive() ) the_archive_title( '<li>', '</li>' );
else if( is_search() ) echo '<li>検索 : '.get_search_query().'</li>';
else if( is_404() ) echo '<li>ページが見つかりません</li>';
echo '</ol>';
}
ここまで
■実際に表示したいページ
<!--パンくずリスト-->
<?php if( !is_front_page() && !is_home() ): ?>
<?php mytheme_breadcrumb(); ?>
<?php endif; ?>
コメント
コメントを投稿