Invalid argument supplied for foreach()

Résolu/Fermé
eau18 - Modifié le 8 mai 2020 à 12:13
eau18 Messages postés 94 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 19 novembre 2021 - 11 juin 2020 à 22:52
Bonjour,

Je viens de mettre à jour mon wordpress, et j'ai ce message qui s'affiche.
Je n'y connais absolument rien en PHP, mais l'erreur ce situe apparemment sur cette ligne :
foreach ( $this->supports as $feature => $args ) {

Voici tout ce qui est affiché autour de cette ligne
 /**


* Sets the features support for the post type.
  *


* @since 4.6.0

*/
 public function add_supports() {
  if ( ! empty( $this->supports ) ) {
   foreach ( $this->supports as $feature => $args ) {
    if ( is_array( $args ) ) {
     add_post_type_support( $this->name, $feature, $args );
    } else {
     add_post_type_support( $this->name, $args );
    }
   }
   unset( $this->supports );
  } elseif ( false !== $this->supports ) {
   // Add default features.
   add_post_type_support( $this->name, array( 'title', 'editor' ) );
  }
 }


EDIT : Ajout des balises de code

Auriez-vous svp des pistes pour m'aider à résoudre le problème ?
Merci beaucoup d'avance


Configuration: Windows / Firefox 56.0
A voir également:

5 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 mai 2020 à 12:15
Bonjour,

Tu peux essayer de modifier la ligne
if ( ! empty( $this->supports ) ) {

par
if ( ! empty( $this->supports ) && (is_array( $this->supports) || ( is_object( $this->supports)) ) {

0
eau18 Messages postés 94 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 19 novembre 2021
Modifié le 8 mai 2020 à 13:06
Merci Jordane,
Mais oups... ce n'est pas mieux, il me dit maintenant
syntax error, unexpected 'foreach' (T_FOREACH)
et plus rien ne s'affiche sur le site alors qu'il y avait juste une barre d'erreur et plein de blanc puis l'affichage normal

Une autre idée ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 mai 2020 à 13:11
Il manque une parenthèse
if ( ! empty( $this->supports ) && (is_array( $this->supports) || ( is_object( $this->supports)) )) {
0
eau18 Messages postés 94 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 19 novembre 2021
8 mai 2020 à 13:24
Oh yes !!!! tu es un ange merci !!!!
ça marche !!!!
0
eau18 Messages postés 94 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 19 novembre 2021
11 juin 2020 à 13:41
Je rouvre le sujet, car une mise à jour wp s'est visiblement mise toute seule sans que je m'en sois rendu compte et le problème est revenu. J'ai pu le réparer sans problème, mais le site est resté inaccessible pendant un certain temps sans que je m'en aperçoive.
Est-ce qu'il y aurait un moyen de mettre ce code sur le thème enfant ? Si oui quelqu'un de très gentil voudrait-il bien m'expliquer la marche à suivre ?
Merci beaucoup d'avance
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
11 juin 2020 à 22:07
Bonjour,
Pour ré-ouvrir une discussion... il faut lui retirer le statut "résolu".
Mais je te conseille plutôt de créer une nouvelle discussion dans le forum dédié à WORDPRESS.
https://forums.commentcamarche.net/forum/wordpress-161
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eau18 Messages postés 94 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 19 novembre 2021
11 juin 2020 à 22:52
Merci beaucoup pour la réponse Jordane, je vais le faire :-)
0