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

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

RECENT POSTS

WordPressでIDから本文を取得する

[PHP] 配列内の空白を削除「array_filter」「array_diff」

[PHP] 配列内の同じ値をまとめる「array_unique」

WordPressのカスタムフィールドでソートする

連想配列から特定の値を取得して配列にいれちゃうってやつ

JavaScriptで取得するGETの値

【CSS】text-decorationのカスタマイズができるの知ってた?

CSSでフッターの下に隙間ができないように調整する

「reduce」を使って配列を値を処理する

data属性の取得・設定・更新【JavaScript】

CATEGORY

POPULAR POSTS

PAGE TOP