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

所有已知问题 →