MovableType5で「Can’t call method “label” on an undefined value」エラー
MovableType5でmt-xmlrpc.cgi を使ったプログラムを作っていて「Can’t call method “label” on an undefined value」が出てしまいましたが、うまく解決できたのでその記録をば。
なぜエラーが起こったか?
そもそもの原因は、PHPからmt-xmlrpc.cgi を使った投稿プログラムを作っていて、カテゴリー構造を間違って投稿してしまいました。
管理画面でも上記のエラーが出るようになってしまい、プログラム上からもエントリーを削除できなくなってしまったのでした。
解決法は…データベースをいじる!
このエラーの解決法は、直接MovableTypeのデータベースを開いてエントリーのカテゴリー情報が格納された「mt_placement」内の該当するカテゴリーフィールドを削除することで解決できます。
SQLiteデータベースで構築している場合
データベースにSQLiteを使用している場合はSQLiteManagerを使って削除することができます。 その時のインストール記事を書いておいたので参照してください。
MySQLデータベースで構築している場合
MySQLデータベースの場合はご存知phpMyAdminをインストールして削除しましょう。
どちらにしろ、GUIでデータベースの内容を確認できるようにしておくと何かと便利なので、今回のトラブルのためだけで終わらせずに、活用していきましょうね。
2011-12-12