内容
Breadcrumb NavXTのbcn_after_fill
アクションでリストの途中に項目を追加する方法です。
array_splice
関数を使用しますが、この関数のreplacement
パラメータは、実行時に配列への強制的な変換を行います。このため、new bcn_breadcrumb()
で生成したインスタンスをそのまま引数にすると分解されてしまうので要注意です。単数のインスタンスでも、意図しない変換が行われないように配列へ代入しておきます。
コード
functions.php
function bcn_insert_test($breadcrumb_trail) {
$breadcrumb = new bcn_breadcrumb();
$breadcrumb->set_title('test');
$breadcrumb->set_url(home_url('test/'));
array_splice($breadcrumb_trail->breadcrumbs, 1, 0, [$breadcrumb]);
return $breadcrumb_trail;
}
add_action('bcn_after_fill', 'bcn_insert_test');