[ WordPress ] プラグインを使わずに、パンくずリストを設置する方法

今まで気づかなかったが、このブログには、パン屑リストが無かったので設置しました。

参考にさせてもらったのは、[パンくずリストを作ってみると WordPress でのサイト構築のコツがつかめるかもしれない(コード 付き)](http://webdesignrecipes.com/wordpress-breadcrumb-list-tips/) という記事です。
ありがとうございます!

今回、設置したコード
———————————————————————-

利用しているテーマは、WordPress に標準装備の Twenty Twelve 1.1 です。

今回、設置したコードは、次のような感じでした。

functions.php に記述

function breadcrumb($divOption = array(“id” => “breadcrumb”, “class” => “clearfix”)){
global $post;
$str =”;
if(!is_home()&&!is_admin()){
/* !is_admin は管理ページ以外という条件分岐 */
$tagAttribute = ”;
foreach($divOption as $attrName => $attrValue){
$tagAttribute .= sprintf(‘ %s=”%s”‘, $attrName, $attrValue);
}
$str.= ‘

‘;
$str.= ‘

    ‘;
    $str.= ‘

  • HOME
  • ‘;
    $str.= ‘

  • >
  • ‘;

    if(is_category()) {
    //カテゴリーのアーカイブページ
    $cat = get_queried_object();
    if($cat -> parent != 0){
    $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, ‘category’ ));
    foreach($ancestors as $ancestor){
    $str.=’

  • ‘. get_cat_name($ancestor) .’
  • ‘;
    $str.=’

  • >
  • ‘;
    }
    }
    $str.=’

  • ‘. $cat -> name . ‘
  • ‘;
    } elseif(is_single()){
    //ブログの個別記事ページ
    $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.=’

  • ‘. get_cat_name($ancestor). ‘
  • ‘;
    $str.=’

  • >
  • ‘;
    }
    }
    $str.=’

  • ‘. get_the_title($ancestor) .’
  • ‘;
    $str.=’

  • >
  • ‘;
    }
    }
    $str.= ‘

  • ‘. $post -> post_title .’
  • ‘;
    } elseif(is_date()){
    //日付ベースのアーカイブページ
    if(get_query_var(‘day’) != 0){
    //年別アーカイブ
    $str.=’

  • ‘ . get_query_var(‘year’). ‘年
  • ‘;
    $str.=’

  • >
  • ‘;
    $str.=’

  • ‘. get_query_var(‘monthnum’) .’月
  • ‘;
    $str.=’

  • >
  • ‘;
    $str.=’

  • ‘. get_query_var(‘day’). ‘日
  • ‘;
    } elseif(get_query_var(‘monthnum’) != 0){
    //月別アーカイブ
    $str.=’

  • ‘. get_query_var(‘year’) .’年
  • ‘;
    $str.=’

  • >
  • ‘;
    $str.=’

  • ‘. get_query_var(‘monthnum’). ‘月
  • ‘;
    } else {
    //年別アーカイブ
    $str.=’

  • ‘. get_query_var(‘year’) .’年
  • ‘;
    }
    } elseif(is_search()) {
    //検索結果表示ページ
    $str.=’

  • [ ‘. get_search_query() .’ ] で検索した結果
  • ‘;
    } elseif(is_author()){
    //投稿者のアーカイブページ
    $str .=’

  • 投稿者 : ‘. get_the_author_meta(‘display_name’, get_query_var(‘author’)).’
  • ‘;
    } elseif(is_tag()){
    //タグのアーカイブページ
    $str.=’

  • タグ : ‘. single_tag_title( ” , false ). ‘
  • ‘;
    } elseif(is_attachment()){
    //添付ファイルページ
    $str.= ‘

  • ‘. $post -> post_title .’
  • ‘;
    } elseif(is_404()){
    //404 Not Found ページ
    $str.=’

  • 404 Not found
  • ‘;
    } else{
    //その他
    $str.=’

  • ‘. wp_title(”, true) .’
  • ‘;
    }
    $str.=’

‘;
$str.=’

‘;
}
echo $str;
}

header.php に記述

style.css に記述

#breadcrumb li {
font-size: 12px;
font-size: 0.857142857rem;
display: inline;
margin-right: 0.5em;
line-height: 1.5;
}

以上です!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です