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

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