- الحالة
- محلولة
- أُبلغ عنها لـ
- 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; }