Mar 162006
 

WordPressのCaptchaプラグインで、新しいイメージを生成する”new ID”ボタンが正常動作していませんでした。
配布元によると1.9で直っているとのことでしたが、私が利用しているバージョンも1.9です 😕
腑に落ちないまま再びソースをダウンロードしてdiffしてみると、最新版は1.9a。だめもとでアップデートしてみましたが、Activate時にTABLE作成のエラーになってしまいます。

WordPress database error: [Too big column length for column 'hn_captcha' (max = 255). Use BLOB instead]
CREATE TABLE IF NOT EXISTS `wp_captcha_keys` (`id` BIGINT(32) UNSIGNED NOT NULL auto_increment, `ts` TIMESTAMP, `private_key` varchar(128) NOT NULL, `hn_captcha` VARCHAR(8192), `tries` INT NOT NULL DEFAULT 0, PRIMARY KEY(`id`))

MySQLでVARCAHR(8192)なんて確かにダメです。BLOG(8192)かTEXT(8192)に変えようかとも思いましたが、コードを眺めても使ってる雰囲気ではなかったので、CREATE文をコメントアウトしちゃいました。

--- captcha.php.default Thu Mar 16 19:20:58 2006
+++ captcha.php Thu Mar 16 10:35:24 2006
@@ -63,9 +63,9 @@
                // ---------------------------------------------------------------------

                // Now create table for storing private keys
-               $query = 'CREATE TABLE IF NOT EXISTS `' . Captcha::table() . "` (`id` BIGINT(32) UNSIGNED NOT NULL auto_increment, "
-                       . "`ts` TIMESTAMP, `private_key` varchar(128) NOT NULL, `hn_captcha` VARCHAR(8192), `tries` INT NOT NULL DEFAULT 0, PRIMARY KEY(`id`))";
-               $wpdb->query($query);
+               //$query = 'CREATE TABLE IF NOT EXISTS `' . Captcha::table() . "` (`id` BIGINT(32) UNSIGNED NOT NULL auto_increment, "
+               //      . "`ts` TIMESTAMP, `private_key` varchar(128) NOT NULL, `hn_captcha` VARCHAR(8192), `tries` INT NOT NULL DEFAULT 0, PRIMARY KEY(`id`))";
+               //$wpdb->query($query);
        }

Captcha表示、コメント投稿は問題なくできますが、通知メールのSubjectが文字化けします(以前からそうですが気にかけてませんでした)。
本文はContent-Type: text/plain; charset=UTF-8になってますので問題ないのですが、Subjectはエンコーディングされないので当然といえば当然です。
ものは試しにphp_value mbstring.func_overload "1"を.htaccessに書いてみましたが、本文がUTF-8のままContent-Type: text/plain; charset="iso-2022-jp"になってしまい、更に惨い状態に 😥
私にとってはさして重要なことではありませんのであきらめますが、あきらめられない人はWordPress MEを使いましょう。

なんだか最近はXREA.COMで動かしているWordPressやDrupalの話題ばかりになってます。全然ブログタイトルにあってませんね…orz

Sorry, the comment form is closed at this time.