Passer la navigation

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.

Marqué : ,

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

Dernière mise à jour par christelleS-4 Il y a 1 année.

Assisté par: Pierre.

Auteur Messages
Avril 25, 2024 à 8:54 am #15564268

christelleS-4

Bonjour,

Suite à la mise à jour de WPML et ses composants, j'ai une erreur PHP sur une page du site comportant un formulaire en frontend construit avec acf_form().
- dans la langue par défaut (français) : je n'ai pas d'erreur, le formulaire s'affiche correctement
- dans la langue traduite (anglais) : je reçois l'erreur PHP suivante :

Fatal error: Uncaught InvalidArgumentException: item should be a Collection or an array or an object in /xxx/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php:112

Voici la liste des mises à jour effectuées, dans cet ordre :
WPML Multilingual CMS 4.5.14 > 4.6.10
WPML String Translation 3.2.3 > 3.2.11
WordPress 6.0.8 > 6.5.2
WPML Media 2.7.1 > 2.7.4
ACFML 1.10.1 > 2.1.0
ACF 5.12.3 > 6.2.9

J'ai suivi les directives de ce ticket : https://wpml.org/fr/forums/topic/conseils-pour-mise-a-jour-wp-wpml/#post-15393330

Pour tenter de résoudre le problème, j'ai procédé à divers essais :
- vider le cache WPML
- supprimer les entées fantômes
- ACF : ouvrir chaque groupe de champs et les sauvegarder (sans aucune modification)
- suppression de l'entrée 'acfml_field_name_patterns' dans la table 'wp_options'
comme indiqué ici : https://wpml.org/errata/fatal-error-uncaught-invalidargumentexception-item-should-be-a-collection-or-an-array-or-an-object-when-visiting-wpml-settings/

Si je désactive le plugin ACFML, l'erreur disparait.
En le réactivant, l'erreur revient.
Pourriez-vous m'aider à résoudre ce problème s'il vous plaît ?

Il s'agit d'un site de test, donc je peux vous donner les accès WP et FTP.
Duplicator est installé si vous avez besoin de cloner le site.

PS : La version PHP est en 8.0 (je compte la passer en PHP 8.2 ultérieurement)

Merci d'avance pour votre retour,
Christelle

wp_options - table.png
Avril 25, 2024 à 10:48 am #15564989

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Bonjour @christelleS-4,

Comme l'erreur semble relative à ACF, pourriez-vous re-installer la version précédente de ACFML (version 2.0.5) et vérifier si le problème persiste ?

Vous pouvez télécharger ACFML 2.0.5 à partir de ce lien https://wpml.org/download/acfml/?section=changelog, et ensuite l'installer manuellement sur votre site.

J'attend votre retour !

Pierre

Avril 25, 2024 à 10:58 am #15565006

christelleS-4

Bonjour Pierre,
La version 2.0.5 a résolu mon problème, l'erreur PHP ne s'affiche plus au chargement du formulaire frontend anglais 🙂
Il me reste à vérifier que tout marche correctement au niveau du formulaire, mais au moins je peux accéder au formulaire.

Merci beaucoup pour votre réactivité !
Christelle

Avril 25, 2024 à 11:02 am #15565039

christelleS-4

Est-ce que le fait d'avoir supprimé l'entrée 'acfml_field_name_patterns' dans la table 'wp_options' va poser un quelconque problème pour le fonctionnement d'ACFML ?

Avril 25, 2024 à 11:28 am #15565179

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Merci pour la confirmation Chrystelle !

Comme le problème apparaît sur votre site après la mise à jour de ACFML 2.1.0, nous devons comprendre le problème et y remédier.

Pourriez-vous nous passer une copie de votre site en utilisant l'extension Duplicator?

Vous trouverez toutes les indications sur cette page => https://wpml.org/faq/provide-supporters-copy-site/

Votre prochaine réponse sera privée afin de nous passer les informations en toute confidentialité.

Dès que nous aurons votre site, nous procéderons à une investigation détaillée.

>Est-ce que le fait d'avoir supprimé l'entrée 'acfml_field_name_patterns' dans la table 'wp_options' va poser un quelconque problème pour le fonctionnement d'ACFML ?

Non, je ne pense pase. Je pense que cette entrée sera re-créée automatiquement. Si besoin, vous pouvez visiter vos groupe de champs dans ACF et re-sauvegarder. Cela devrait remettre à jour cette option.

Merci,
Pierre

Avril 25, 2024 à 1:13 pm #15565846

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Chrystelle, j'ai récupéré le package et vous pouvez le supprimer de votre Drive dès maintenant.

J'ai pu installer votre package et déployer votre site localement.
Cependant, je ne suis pas exactement sûr des étapes/pages/actions à suivre pour reproduire votre problème (avec ACFML 2.1.0).
Les pages que vous m'avez indiquées m'affichent "Site en maintenance".

Pouvez-vous me décrire précisement les étapes que je dois suivre sur le package que vous m'avez partagé afin de déclencher l'erreur fatale?

Merci,
Pierre

Avril 25, 2024 à 1:27 pm #15565910

christelleS-4

Effectivement, le site est en mode maintenance.
Mais si vous êtes connecté au backoffice avec un rôle d'admin, vous devriez pouvoir accéder au frontend.
Autrement, vous pouvez désactiver le mode maintenance en allant dans Réglages->LightStart

Pour reproduire le problème (uniquement présent sur la version EN) :
- Se rendre sur la page avec le slug suivant : /en/exhibitor-area/
(cette page est accessible avec le bouton rouge dans la top bar)
- Une liste des listings s'affiche.
- Cliquez sur le libellé d'un listing pour accéder au formulaire frontend.

L'erreur PHP apparaitra si vous upgradez ACFML en 2.1.0.

Avril 25, 2024 à 1:54 pm #15566073

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Merci Chrystelle !

Nous avons reproduit le problème et nous allons apporter un correctif.

Avril 25, 2024 à 1:58 pm #15566077

christelleS-4

C'est noté, merci à vous !

Avril 25, 2024 à 5:57 pm #15567024

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Chrystelle,

Nous allons publier très prochainement un correctif (ACFML 2.1.1).

Sur cette page https://wpml.org/errata/advanced-custom-fields-fatal-error-uncaught-invalidargumentexception-item-should-be-a-collection/, vous trouverez 2 solutions temporaires sur vous souhaitez d'ores et déjà utiliser ACFML 2.1.0.

Sinon, je vous recommande d'attendre la version ACFML 2.1.1.

Merci,
Pierre

Avril 25, 2024 à 6:03 pm #15567029

christelleS-4

Merci Pierre pour l'info, le fix a été rapide !
Je ne suis pas pressée, je vais attendre la nouvelle version d'ACFML.

Bonne fin de journée,
Christelle

mai 16, 2024 à 11:40 am #15634799

Pierre
Supporter

Les langues: Anglais (English ) Français (Français ) Portugais - du Brésil (Português )

Fuseau horaire: America/Sao_Paulo (GMT-03:00)

Bonjour Christelle,

Le problème devrait être résolu désormais.
Je vous invite à mettre à jour ACFML à la dernière version.
Puis confirmez-moi si votre problème est résolu.

Merci,
Pierre

mai 19, 2024 à 6:24 am #15642279

christelleS-4

Bonjour Pierre,

Je vous remercie pour l'info, je ferai la mise à jour prochainement 👍
Bonne journée,
Christelle