Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Après la mise à jour du plugin Gravity Forms Multilingual, un message d'erreur 'warning: foreach() argument must be of type array|object, string given' s'affiche sur les pages avec un formulaire Gravity Forms. De plus, après avoir désactivé le plugin, le formulaire n'est plus traduit en allemand.
Solution :
1. Pour résoudre l'erreur fatale, le problème pourrait être causé par le plugin "Gravity Forms CSS Ready Class Selector", qui peut être obsolète.
- Dans

wp-content/plugins/gravity-forms-css-ready-selector/gfaddoncommon.php

, mettez à jour la fonction :

public static function get_base_url(){<br />  return plugins_url(null, __FILE__);<br />}

- Dans

wp-content/plugins/gravity-forms-css-ready-selector/gf-readyclasses-addon.php

, mettez à jour la fonction :

public static function render_editor_js(){

2. Pour corriger le problème d'avertissement, cela peut être dû à des champs de formulaire définis incorrectement ou à une corruption.
- Allez dans

wp-content/plugins/gravityforms-multilingual/inc/gravity-forms-multilingual.class.php

.
- Modifiez le code de :

if ( isset( $field->inputs ) ) {

À :

if ( isset( $field->inputs ) && !is_string($field->inputs) ) {

Si cette solution ne résout pas votre problème ou semble obsolète, nous vous recommandons de vérifier les problèmes connus, de vérifier la version du correctif permanent et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

Marqué : 

Ce sujet contient 4 réponses, a 2 voix.

Dernière mise à jour par Bruno Kos Il y a 4 mois et 1 semaine.

Assisté par: Bruno Kos.

Auteur Articles
juillet 1, 2024 à 6:08 am

roxaneL

Contexte de la question:
Depuis la mise à jour du Plugin Gravity Forms Multilingual, le message suivant s'affiche sur les pages contenant un formulaire Gravity Forms: warning: foreach() argument must be of type arraylobject, string given in /home/msimitsch/kreuzgals.ch/wp-content/plugins/gravityforms-multilingual/inc/gravity-forms-multilingual.class.php on line 861. URL: lien caché

Symptômes:
Le message d'erreur 'warning: foreach() argument must be of type arraylobject, string given' s'affiche. J'ai désactivé le plugin et maintenant le formulaire n'est plus en allemand.

Questions:
Comment résoudre l'erreur foreach() argument must be of type arraylobject, string given?
Comment réactiver le plugin sans perdre la traduction en allemand du formulaire?

juillet 1, 2024 à 6:56 am
juillet 1, 2024 à 2:50 pm #15869386

Bruno Kos
Supporter

Les langues: Anglais (English ) Allemand (Deutsch ) Français (Français )

Fuseau horaire: Europe/Zagreb (GMT+01:00)

Pour résoudre ce problème, je vais installer le plugin Duplicator et générer des packages à des fins de débogage ultérieur. Je veillerai à exclure tous les fichiers multimédias pour maintenir une taille de package minimale. Vous pouvez trouver plus d'informations sur le processus ici : [lien](https://wpml.org/faq/provide-supporters-copy-site/). Veuillez confirmer si cette approche vous convient.

juillet 4, 2024 à 12:41 pm #15891899

roxaneL

Désolée pour ma réponse tardive, je ne trouvais pas ou vous répondre!!! J'ai malheureusement répondu sur le mail.

Oui je veux bien encore de votre aide.

OK pour votre approche. Il ne faut pas, par contre, que le site internet soit coupé.

Merci beaucoup.

juillet 4, 2024 à 1:22 pm #15892258

Bruno Kos
Supporter

Les langues: Anglais (English ) Allemand (Deutsch ) Français (Français )

Fuseau horaire: Europe/Zagreb (GMT+01:00)

Remonté au deuxième échelon

juillet 5, 2024 à 12:24 pm #15898509

Bruno Kos
Supporter

Les langues: Anglais (English ) Allemand (Deutsch ) Français (Français )

Fuseau horaire: Europe/Zagreb (GMT+01:00)

Pouvez-vous essayer ce qui suit :

1. **Résoudre l'erreur fatale (lien caché) :**
- Le problème est causé par le plugin "Gravity Forms CSS Ready Class Selector" (lien caché), qui peut ne plus être pris en charge.
- **Solution de contournement :**
- Dans `wp-content/plugins/gravity-forms-css-ready-selector/gfaddoncommon.php`, mettez à jour la fonction :

       public static function get_base_url(){
         return plugins_url(null, __FILE__);
       }

- Dans `wp-content/plugins/gravity-forms-css-ready-selector/gf-readyclasses-addon.php`, mettez à jour la fonction :

/*
 * render some custom JS to get the settings to work
 */
public static function render_editor_js(){

2. **Corriger le problème d'avertissement :**
- L'avertissement se produit car les champs de formulaire ont défini certains inputs de manière incorrecte ou à cause de la corruption.
- **Solution de contournement :**
- Allez dans `wp-content/plugins/gravityforms-multilingual/inc/gravity-forms-multilingual.class.php`.
- Modifiez le code de :

// Sub-labels using the default values. See <em><u>lien caché</u></em>.
if ( isset( $field->inputs ) ) {

- À :

// Sub-labels using the default values. See <em><u>lien caché</u></em>.
if ( isset( $field->inputs ) && !is_string($field->inputs) ) {

juillet 10, 2024 à 7:19 am #15926102

roxaneL

Merci pour votre aide. Je vais essayer! Cordialement
Roxane