- Статус
- Решено
- Заявлено для
- Advanced Custom Fields Multilingual 2.0.5
- Решено в
- Advanced Custom Fields Multilingual 2.1.0
- Связанный плагин/тема
- Advanced Custom Fields (ACF)
- Теги темы
- Bug, Compatibility
Обзор проблемы
Если Вы используете плагин Advanced Custom Fields с WPML, Вы можете столкнуться со следующей фатальной ошибкой PHP:
PHP Fatal error: Uncaught TypeError: md5(): Argument #1 ($string) must be of type string, array given in .../wp-content/plugins/acfml/classes/Strings/Package.php:97
Обходное решение
Перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/acfml/classes/Strings/Traversable/Field.php.
- Найдите строку 24.
- Замените:
protected function transform( Transformer $transformer, $value, $config ) { if ( is_array( $value ) ) { foreach ( $value as $key => $label ) { $value[ $key ] = $transformer->transform( $label, $config ); } } else { $value = $transformer->transform( $value, $config ); } return $value; } - На:
protected function transform( Transformer $transformer, $value, $config ) { if ( is_array( $value ) ) { foreach ( $value as $key => $label ) { if ( is_string( $label ) ) { $value[ $key ] = $transformer->transform( $label, $config ); } } } else { $value = $transformer->transform( $value, $config ); } return $value; }