Breadcrumb NavXTをカスタマイズ。パンくずにメインサイトを追加する方法。

マルチサイト化していない複数のwordpressサイトを運用しており、Breadcrumb NavXTプラグインを使ってパンくずを表示している。
Breadcrumb NavXTをカスタマイズして、上位階層にあるメインサイトをパンくずに追加したい。
この様な悩みを解決いたします。
本記事では、Breadcrumb NavXTをカスタマイズして、上位階層にあるメインサイトをパンくずに追加する方法について解説いたします。
※複数のwordpressサイトを運用しており、マルチサイト化されてる方はBreadcrumb NavXTのデフォルト設定内で自動で上位階層にあるメインサイトを表示してくれるので本記事の設定は不要です。
functions.phpにアクションフックを追加
//-----------------------------------------------------
// 【パンくずメインサイト追加】
//-----------------------------------------------------
function bcn_add($bcnObj) {
$bcnObj->add(new bcn_breadcrumb('サイト名', null, array('クラス名'), '/ディレクトリ名/', null, true));
$trail_tmp = clone $bcnObj->trail[1];
$bcnObj->trail[1] = clone $bcnObj->trail[0];
$bcnObj->trail[0] = $trail_tmp;
return $bcnObj;
}
上記コード内のサイト名、クラス名、ディレクトリ名を追加したいメインサイトの任意値に変更後、functions.phpにコピペしてください。
以上で設定完了です。
パンくずのトップにfunctions.phpで追加したメインサイトのリンクが追加されているかと思います。
上位階層を二つ設定したい場合
//-----------------------------------------------------
// 【パンくずメインサイト追加】
//-----------------------------------------------------
//第二階層
function bcn_add($bcnObj)
{
$bcnObj->add(new bcn_breadcrumb('第二階層サイト', null, array('daini'), '/dainikaiso/', null, true));
$trail_tmp = clone $bcnObj->trail[1];
$bcnObj->trail[1] = clone $bcnObj->trail[0];
$bcnObj->trail[0] = $trail_tmp;
return $bcnObj;
}
add_action('bcn_after_fill', 'bcn_add');
//第一階層
function bcn_add02($bcnObj02)
{
$bcnObj02->add(new bcn_breadcrumb('トップ', null, array('top'), '/', null, true));
$trail_tmp = clone $bcnObj02->trail[1];
$bcnObj02->trail[1] = clone $bcnObj02->trail[0];
$bcnObj02->trail[0] = $trail_tmp;
return $bcnObj02;
}
add_action('bcn_after_fill', 'bcn_add02');
追加したい上位階層のメインサイトが二つ以上ある場合は上記コードのように、functions名と引数を違う値に変更し、階層順でコードを追加する事で実装出来ます。
以上で解説を終わります。
まとめ
共通のドメインでwordpressをマルチサイト化していると自動で上位階層にあるメインサイトを表示してくれますが、マルチサイト化するとページスピードが重くなるなど色々デメリットがあり、設定していないサイトも多々あります。
その様な時、本記事で紹介したカスタマイズがお役に立つかと思います。
以上で解説を終わります。