Breadcrumb NavXT で出力タイトルをフックでカスタマイズする

自分の設計ミスだったのですが、タイトルの代わりに特定のカスタムフィールドの値を出さないといけなくなり、少し詰んだので備忘録に。

使用プラグインはタイトルにも書きましたがBreadcrumb NavXTです。
超メジャーですね。いつもお世話になっています。ありがとうありがとう。

さて、本題です。

例えば「トップページ」とか、決まった文章を変えたりするときは管理画面からちょっと変えればそれで済むのですが、今回のように入力したものを出したいときはフィルターフックが必要になります。

フィルターフックを使うことだけは知っていたのでどれどれ?と思いながらプラグインページからぴょんとドキュメントページを見ました

なるほど、フックには4種類あるのね。多分使うのは「bcn_after_fill」か「bcn_before_fill」なんでしょ?知ってる!と、意気揚々とその2つの使い方を更に調べました。

※結論から言えば、こんな回りくどいフックを使わなくても「bcn_breadcrumb_title」というフックを使えば終わります。

調べたところ、どうやらカスタマイズをするのに使うのはbcn_after_fillが一般的のよう。ふむ。

参考にしたページ:http://notnil-creative.com/blog/archives/981

他にもいろんなページは見ましたが、私の感想は「ただタイトル変えたいだけなのに大仰すぎない???」です。

というか、こんなカスタマイズしやすいプラグインがタイトルだけちゃっと変えれるフック本当に用意してないのか?

……と思い、ドキュメントページでおもむろに「title」とページ内検索したところ、やっぱりというか見つかりました。

ちゃんと使い方を書いたページもありました。(https://mtekk.us/archives/guides/changing-the-home-breadcrumb-title/

最終的に、こんなコードになりました。

function chiilog_breadcrumb_title_swapper( $title, $type, $id ) {
	$custom = get_post_meta( $id, 'my_custom_field', true );
	if ( $custom ) {
		$title = $custom;
	}

	return $title;
}
add_filter( 'bcn_breadcrumb_title', 'chiilog_breadcrumb_title_swapper', 3, 10 );

他にもいろんな細かいフィルターがあるようなので、困ったらまず公式のドキュメントでページ内検索してみるのが良いと思います。