- 状态
- 已解决
- 报告针对
- 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; }