// パンくずリスト
function breadcrumb(){
global $post;
$str = '';
$pNum = 2;
$str.= '<div id="breadcrumb">';
$str.= '<ul>';
$str.= '<li ><a href="'.home_url('/').'" class="home"><span>HOME</span></a></li>';
/* 通常の投稿ページ */
if(is_singular('post')){
$categories = get_the_category($post->ID);
$cat = $categories[0];
if($cat->parent != 0){
$ancestors = array_reverse(get_ancestors($cat->cat_ID, 'category'));
foreach($ancestors as $ancestor){
$str.= '<li><a href="'. get_category_link($ancestor).'"><span>'.get_cat_name($ancestor).'</span></a></li>';
}
}
$str.= '<li><a href="'. get_category_link($cat-> term_id). '"><span>'.$cat->cat_name.'</span></a></li>';
$str.= '<li><span>'.$post->post_title.'</span></li>';
}
/* カスタムポスト */
elseif(is_single() && !is_singular('post')){
$cp_name = get_post_type_object(get_post_type())->label;
$cp_url = home_url('/').get_post_type_object(get_post_type())->name;
$str.= '<li><a href="'.$cp_url.'"><span>'.$cp_name.'</span></a></li>';
$str.= '<li><span>'.$post->post_title.'</span></li>';
}
/* 固定ページ */
elseif(is_page()){
$pNum = 2;
if($post->post_parent != 0 ){
$ancestors = array_reverse(get_post_ancestors($post->ID));
foreach($ancestors as $ancestor){
$str.= '<li><a href="'. get_permalink($ancestor).'"><span>'.get_the_title($ancestor).'</span></a></li>';
}
}
$str.= '<li><span>'. $post->post_title.'</span></li>';
}
/* カテゴリページ */
elseif(is_category()) {
$cat = get_queried_object();
$pNum = 2;
if($cat->parent != 0){
$ancestors = array_reverse(get_ancestors($cat->cat_ID, 'category'));
foreach($ancestors as $ancestor){
$str.= '<li><a href="'. get_category_link($ancestor) .'"><span>'.get_cat_name($ancestor).'</span></a></li>';
}
}
$str.= '<li><span>'.$cat->name.'</span></li>';
}
/* タグページ */
elseif(is_tag()){
$str.= '<li><span>'. single_tag_title('', false). '</span></li>';
}
/* 時系列アーカイブページ */
elseif(is_date()){
if(get_query_var('day') != 0){
$str.= '<li><a href="'. get_year_link(get_query_var('year')).'"><span>'.get_query_var('year').'年</span></a></li>';
$str.= '<li><a href="'.get_month_link(get_query_var('year'), get_query_var('monthnum')).'"><span>'.get_query_var('monthnum').'月</span></a></li>';
$str.= '<li><span>'.get_query_var('day'). '</span>日</li>';
} elseif(get_query_var('monthnum') != 0){
$str.= '<li><a href="'. get_year_link(get_query_var('year')).'"><span>'.get_query_var('year').'年</span></a></li>';
$str.= '<li><span>'.get_query_var('monthnum'). '</span>月</li>';
} else {
$str.= '<li><span>'.get_query_var('year').'年</span></li>';
}
}
/* 投稿者ページ */
elseif(is_author()){
$str.= '<li><span>投稿者 : '.get_the_author_meta('display_name', get_query_var('author')).'</span></li>';
}
/* 添付ファイルページ */
elseif(is_attachment()){
$pNum = 2;
if($post -> post_parent != 0 ){
$str.= '<li><a href="'.get_permalink($post-> post_parent).'"><span>'.get_the_title($post->post_parent).'</span></a></li>';
}
$str.= '<li><span>'.$post->post_title.'</span></li>';
}
/* 検索結果ページ */
elseif(is_search()){
$str.= '<li><span>「'.get_search_query().'」で検索した結果</span></li>';
}
/* 404 Not Found ページ */
elseif(is_404()){
$str.= '<li><span>お探しの記事は見つかりませんでした。</span></li>';
}
/* その他のページ */
else{
$str.= '<li><span>'.wp_title('', false).'</span></li>';
}
$str.= '</ul>';
$str.= '</div>';
echo $str;
}
CSS
/*ぱんくす*/
.pankuzu{
font-size:80%;
text-align:left;
margin-bottom:20px;
}
.pankuzu ul {
list-style: none;
margin: .25rem 0 .5rem;
font-size: 0.95rem;
}
.pankuzu ul li {
display: inline-block;
}
.pankuzu ul li:not(:last-child)::after {
color: #999999;
content: ">";
margin: 0 .25rem;
}
設置場所
<ul class="pankuzu"><?php breadcrumb(); ?></ul>