WPML
الحالة
محلولة
أُبلغ عنها لـ
WPForms Multilingual 0.3.0
تم حلها في
0.3.1
الإضافة/القالب ذو الصلة
WP Forms
وسوم الموضوع
Compatibility

نظرة عامة على المشكلة

إذا كان لديك نموذج بمربعات اختيار تم إنشاؤه بواسطة إضافة WPForms ويعمل على خادم PHP 8x، فلن يعمل عند محاولة إرساله. بدلاً من ذلك، سيظهر لك هذا الخطأ الفادح:

[14-Feb-2023 18:43:45 UTC] PHP Fatal error: Uncaught TypeError: array_key_exists(): Argument #1 ($key) must be a valid array offset type in …/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php:98Stack trace: #5 …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php(191): WPML\FP\Obj::__callStatic('propOr’, Array)#6 [internal function]: WPML\Forms\Hooks\WpForms\Strings->WPML\Forms\Hooks\WpForms\{closure}(Array, 44)#17 …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php(197): WPML\FP\Obj::__callStatic('over’, Array)#18 …/wp-includes/class-wp-hook.php(308): WPML\Forms\Hooks\WpForms\Strings->translateEntry(Array, Array)

حل بديل مؤقت

يُرجى التأكد من أخذ نسخة احتياطية كاملة قبل المتابعة.


  1. افتح الملف …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php.

  2. ابحث عن السطر 185.

  3. استبدل:
    			if ( in_array( Obj::path( [ 'fields', $fieldId, 'type' ], $originalForm ), [ 'checkbox', 'radio', 'select' ], true ) ) {

    بـ:

    			if ( in_array( Obj::path( [ 'fields', $fieldId, 'type' ], $originalForm ), [ 'radio', 'select' ], true ) ) {

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