WordPress

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)の中身がバラバラに入るようです。


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