WPML
ステータス
解決済み

問題の概要

HyperDBがインストールされている場合、翻訳の複製を作成する際に以下のエラーが発生する場合があります。

WordPress database error Field 'translator_id' doesn't have a default value for query INSERT INTO `wp_icl_translation_status` (`status`, `translation_id`) VALUES ('9', '3855') made by WPML_Post_Status::set_status

原因は、HyperDBが互換性のないSQLモード('NO_ZERO_DATE’、'ONLY_FULL_GROUP_BY’、'STRICT_TRANS_TABLES’、'STRICT_ALL_TABLES’、'TRADITIONAL’)を有効にすることです。これらのモードはWordPress 3.9 以降のバージョンで互換性がないと宣言されており、標準のwpdbクラスでは無効化されています。

サーバーのMySQL設定でこのような互換性のないモードが設定されており、サイトにHyperDBがインストールされている場合、WPMLで複製を作成する際にエラーが発生します。

WPML開発チームはWordPressが公式にサポートする機能のサポートを維持しているため、HyperDB向けの修正をWPMLのコアコードに含めることはできません。

回避策

上記の問題を修正する「WPML HyperDB」という専用プラグインを作成しました。プラグインはこちらからダウンロードできます。

すべての既知の問題 →