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, который исправляет описанную выше проблему. Плагин можно скачать здесь.

Все известные проблемы →