CocoonをSQLiteで動かすと「吹き出し」が使えないらしい

この記事は約2分で読めます。
SQLite利用者
SQLite利用者

Cocoonで「吹き出し」が新規追加できないんですけど。。。

Cocoon作者
Cocoon作者

データーベースに「wp_cocoon_speech_balloons」があるか、確認ができますか?

SQLite利用者
SQLite利用者

なんかSQLiteで動かしているようです

Cocoon作者
Cocoon作者

できればMySQLが使えるサーバーで動かしてください
SQLiteだと難しいです

SQLite利用者
SQLite利用者

そうします

Nouno
Nouno

ええっ?そうなの???

Nouno
Nouno

ほ、本当だ。エラーで全然動かないや。。。

Nouno
Nouno

よーし
そーいうことなら、デバッグだ!!!

色々調べていたら、こんなやりとりを見つけてしまった。。。
見つけてしまったのなら仕方が無い。もちろん修正して、この「吹き出し」機能を使っている。
吹き出し機能とか、使うタイミングがなかなか無いから全然気がつかなかった。

結果を教えよう。原因はwp_cocoon_speech_balloonsdateカラムがおかしかった。
dateじゃなくてdate になっていた。
えっ?分からないって??? date だよ?
まだわからない?「date」じゃなくて「date 」だ。
よく見ないと分からないが、dateの後ろにスペースが入っていた。。。
こんなの普通分かるかー!!!

dateという単語は予約語なので、カラム名に使うとトラブルになりがちだ。基本的に避ける人が多いだろう。こちらは好みもあるので仕方が無い。
ただ「date 」は無いだろう。こんな変態的なカラム名の仕様書を後輩が書いてきたら、超説教もんだ。
まさかと思ってspeech-balloon-func.phpを確認したところ、至って普通の「CREATE TEABLE」だった。やっぱりSQLiteのプラグインが誤動作してしまったのだろう。。。

ということで解決は簡単だ。

ALTER TABLE wp_cocoon_speech_balloons RENAME COLUMN 'date ' to 'date';

これだけだ。dateの後ろのスペースを忘れてはいけない。

こちらも一度修正してしまえば、データベースの構造が変わらない限り修正は不要だろう。
今使っているプラグインは、これでほぼ問題が無くなったと思われる。
50記事も書いたところで、やっとスタートラインに立てたようだ。

コメント