- סטטוס
- נפתר
- דווח עבור
- 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)
פתרון עוקף
הקפד לבצע גיבוי מלא לפני שתמשיך.
- פתח את הקובץ …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php.
- חפש את שורה 185.
- החלף את:
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 ) ) {