MovableType5で「Can't call method "label" on an undefined value」エラー
presented by 役に立つかもしれないBlog

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でデータベースの内容を確認できるようにしておくと何かと便利なので、今回のトラブルのためだけで終わらせずに、活用していきましょうね。
このページに関連のある記事はこちら
- MovableTypeでダイナミック設定にしたブログを複製する方法
- MTAppJQueryでブログIDを動的に取得する方法
- MovableType5を別サーバーに移転する方法(SQLiteの場合)
- PHPでMovableTypeのエントリーDBをSQL検索する方法
- SQLiteManager 1.2.4で既存のSQLiteデータベースを制御する方法
- PHPでMovableType5のデータベースにアクセスする方法
- iPadからMovableTypeに画像を投稿する
- 先行レビュー「MovableType 5.1プロの現場の仕事術」
- MovableTypeのダイナミックパブリッシングの仕組みを紐解く
- MTPlugin-Starterでエラー&解決!



コメントフォーム