MT5で納めた案件が 数年後の今日、
新規カテゴリを追加したいがエラーが出て 完了しないという問い合わせがあり 対応しました。
エントリ件数も多かったので ほぼ1日仕事になったけれど対応方法がわかったのでメモ。
表示されるエラーは
『Can’t call method “label” on an undefined value』。
カテゴリのテーブルと実際の数字があっていないだろうという見通しでmt_categoryテーブル内の書き込みに問題があるかと思ったら うまくいかない。
カテゴリそのものはここだけども エントリーとカテゴリの数字を持っているのは
実際は、mt_placementテーブル。
(今回 子カテゴリの追加で問題が発生したので)
mt_category内の子カテゴリは idをメモしてから すべて消去。
該当するmt_placement内のエントリの メモの範囲のカテゴリを別の親カテゴリに分類した後に
管理画面から 新しい子カテゴリを作成。
各エントリにカテゴリを当てはめなおして 再構築で 修正完了しました。
<参考エントリ>
MovableType5で「Can’t call method “label” on an undefined value」エラー
http://colo-ri.jp/develop/2011/12/movabletype5cant_call_method_label_on_an_undefined_value.html