BLOG

Breadcrumb NavXTでメインカテゴリのみを表示させる。

| WordPressプラグイン

WordPressでパンくずを表示させるプラグインで超有名なのが「Breadcrumb NavXT」ですよね。
インストールして、ちょこっと追加するだけの簡単なプラグインですよね。

<div class="breadcrumbs">
<?php
if(function_exists('bcn_display')){
  bcn_display();
}
?>
</div>

こんな感じの記述を表示させたいテンプレートに追加するだけです。
でも、小カテゴリ、孫カテゴリが存在した場合、それらも表示されてしまう。
そうすると、めっちゃ長いパンくずになって結構見ずらいものになってしまいます。
ってことで、今回はパンくずをスッキリ、メインカテゴリのみを表示させるようにしたい。

することは簡単で、functions.phpに以下を記載するのみ!

add_action('bcn_after_fill', 'bc_limit');
function bc_limit ($trail) {
  $max = count($trail->breadcrumbs);
  for ($i = 2; $i < $max - 1; $i++) {
    unset($trail -> trail[$i]);
  }
}

これを追加するのみで、小カテゴリ、孫カテゴリ等親以外は消えるとようになると思います。
よく使われるプラグインは、こういったカスタムをしても、びくともしないので助かります。

追記(2019.07.26)

カスタム投稿タイプで使う場合は、カスタム投稿タイプの部分も消えちゃうので、下記のようにしてください。

add_action('bcn_after_fill', 'bc_limit');
function bc_limit ($trail) {
  $max = count($trail->breadcrumbs);
  for ($i = 2; $i < $max - 2; $i++) {
    unset($trail -> trail[$i]);
  }
}

変更部分は4行目の

$max - 1 // カスタム投稿タイプじゃない場合
$max - 2 // カスタム投稿タイプの場合

ちなみにカテゴリも親と子をだして孫隠す場合

$i = 2

この数値を変更すれば可能です。
いろいろとお試しあれ!