Invalid argument supplied for foreach()

Résolu
eau18 -  
eau18 Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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 106 Date d'inscription   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Il manque une parenthèse
if ( ! empty( $this->supports ) && (is_array( $this->supports) || ( is_object( $this->supports)) )) {
0
eau18 Messages postés 106 Date d'inscription   Statut Membre Dernière intervention  
 
Oh yes !!!! tu es un ange merci !!!!
ça marche !!!!
0
eau18 Messages postés 106 Date d'inscription   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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 106 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour la réponse Jordane, je vais le faire :-)
0