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 ) ) {

כל התקלות הידועות