Edited at

Breadcrumb NavXTでarray_spliceを使うとErrorって出る

bcn_after_fillを使い、array_poparray_unshiftでBreadcrumb NavXTのナビゲーションを調整することはできたんですが、


array_spliceを使うとFatal errorが出て「???」ってなったんで、とりあえず解決法


Array[i]とかで置き換え、挿入をする。


sample.php

function my_bcn_after_fill($bcnObj) {

// 新しいパンくず項目を作成
$trail_add = new bcn_breadcrumb();
$trail_add->set_title("sample");
$trail_add->set_url( site_url().'/sample/' );

// 入れたい箇所の項目を保管
$home_trail = $bcnObj->trail[1];

// 差し替え
$bcnObj->trail[1] = $trail_add;
// 保管したものを入れる
$bcnObj->trail[2] = $home_trail;

// 例えばこんな感じ
// HOME > hoge
// HOME > sample > hoge

return $bcnObj;
}
add_action('bcn_after_fill', 'my_bcn_after_fill');



なんでarray_splice使えないの?

入っているものを見ると、もともと入っている配列にはobject(bcn_breadcrumb)というオブジェクトで格納されていたんですが、

array_spliceで挿入したものはobject(bcn_breadcrumb)の中身がバラバラに入るようです。


他にスマートな方法があると思いますが、とりあえず見つかるまでの応急処置にどうでしょうか。(他のいい方法をご教授いただけるととても喜びます)