- Статус
- Решена
- Тип
- Ошибка
- Заявлено для
- Gravity Forms Multilingual 1.7.1
- Решено в
- Gravity Forms Multilingual 1.7.2
- Связанный плагин/тема
- Gravity Forms
- Теги темы
- Compatibility
Обзор проблемы
Если Вы настроите условную логику для уведомлений Вашего плагина Gravity Forms, при попытке предварительного просмотра формы Вы увидите следующую фатальную ошибку:
Fatal error: Uncaught TypeError: Argument 1 passed to
GFML_Conditional_Logic::translate_rule_value() must be an instance of GF_Field, array given, called in …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php on line 102 and defined in …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php:187 Stack trace: #0 …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php(102): GFML_Conditional_Logic->translate_rule_value() #1 …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php(41): GFML_Conditional_Logic->translate_rules() #2 …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php(23): GFML_Conditional_Logic->translate_rules_for_section() #3 …/wp-content/plugins/gravityforms-multilingual/inc/gravity-form in …./wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.phpon line187
Обходное решение
Пожалуйста, обязательно сделайте полную резервную копию Вашего сайта перед тем, как продолжить.
- Откройте файл …/wp-content/plugins/gravityforms-multilingual/classes/class-gfml-conditional-logic.php .
- Найдите строку 100.
- Замените:
$rule_field = $current_field;
На:
$rule_field = $current_field instanceof GF_Field ? $current_field : $rule_field;