Breadcrumb NavXTのカスタマイズ

Breadcrumb NavXTのカスタマイズ

ぱんくずの中身を書き換えたい場合など、Breadcrumb NavXTを使用したく無いカテゴリーを除外する。

■ 一つのカテゴリを除外する(例:NEWSを除外する)

function my_filter_breadcrumbs($bcnObj) {
    $trail = array();
    if ( count($bcnObj->trail) > 0 ) {
        for ( $i = 0; $i < count($bcnObj->trail); $i++ ) {
            if ( 'NEWS' != $bcnObj->trail[$i]->get_title() ) {
                $trail[] = $bcnObj->trail[$i];
            }
        }
    }
    $bcnObj->trail = $trail;
    return $bcnObj;
}
add_action('bcn_after_fill', 'my_filter_breadcrumbs');

■ 複数カテゴリーを除外する(例:NEWSとEVENTを除外する)

function my_filter_breadcrumbs($bcnObj) {
    $trail = array();
    if ( count($bcnObj->trail) > 0 ) {
        for ( $i = 0; $i < count($bcnObj->trail); $i++ ) {
            if ( 'NEWS' != $bcnObj->trail[$i]->get_title() && 'EVENT' != $bcnObj->trail[$i]->get_title() ) {
                $trail[] = $bcnObj->trail[$i];
            }
        }
    }
    $bcnObj->trail = $trail;
    return $bcnObj;
}
add_action('bcn_after_fill', 'my_filter_breadcrumbs');

■ よびだしタグをifで書き換える

<?php
  if (function_exists('bcn_display') && !is_front_page()) {
    if(!is_post_type_archive('hogehoge')){
      echo '<div id="topicPath"><div class="inner">';
              bcn_display();
      echo '</div></div>';
    }else{
      echo '<div id="topicPath"><div class="inner"><span property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="';
      echo esc_url(home_url('/'));
      echo '" class="home"><span property="name">ホーム</span></a><meta property="position" content="1"></span> &gt; <span property="itemListElement" typeof="ListItem"><span property="name">';
      echo '特別な記事一覧</span><meta property="position" content="2"></span></div></div>';
    }
  }
?>

■spanではなくリストで出力する

<?php if(function_exists('bcn_display')){
    	echo '<ol itemscope itemtype="http://schema.org/BreadcrumbList">';
        bcn_display_list();
       echo '</ul>';
    }?>

■共通パーツなどでフロントページを除外したい場合

<?php
        if (function_exists('bcn_display') && !is_front_page()) {
          echo '<div id="topicPath"><div class="container">';
          bcn_display();
          echo '</div></div>';
        }
        ?>

参考サイト

LastManStanding
WordPressのパンくずリスト生成プラグインBreadcrumb NavXTで特定の複数カテゴリを除外する
http://lmstanding.net/web/breadcrumb-navxt/