WPML
Statut
Résolu
Signalé pour
WPForms Multilingual 0.3.0
Résolu dans
0.3.1
Extension/thème associé
WP Forms
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Si vous avez un formulaire avec des cases à cocher créé avec l’extension WPForms fonctionnant sur un serveur PHP 8x, il ne fonctionnera pas lorsque vous essaierez de le soumettre. À la place, vous obtiendrez cette erreur fatale :

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

Solution de contournement

Assurez-vous d’effectuer une sauvegarde complète avant de continuer.


  1. Ouvrez le fichier …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php.

  2. Recherchez la ligne 185.

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

    Par :

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

Toutes les anomalies connues →