WPML
Estado
Resuelto
Notificado para
WPForms Multilingual 0.3.0
Resuelto en
0.3.1
Plugin/tema relacionado
WP Forms
Etiquetas de temática
Compatibility

Resumen del problema

Si tiene un formulario con casillas de verificación creado con el plugin WPForms que se ejecuta en un servidor PHP 8x, no funcionará cuando intente enviarlo. En su lugar, obtendrá este error fatal:

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

Solución alternativa

Por favor, asegúrese de hacer una copia de seguridad completa antes de continuar.


  1. Abra el archivo …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php.

  2. Busque la línea 185.

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

    Por:

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

Todos los problemas conocidos →