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;
    	}

جميع المشاكل المعروفة →