Invalid argument supplied for foreach()

Résolu
eau18 -  
eau18 Messages postés 118 Statut Membre -
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

5 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. eau18 Messages postés 118 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Il manque une parenthèse
      if ( ! empty( $this->supports ) && (is_array( $this->supports) || ( is_object( $this->supports)) )) {
      
      0
  3. eau18 Messages postés 118 Statut Membre
     
    Oh yes !!!! tu es un ange merci !!!!
    ça marche !!!!
    0
  4. eau18 Messages postés 118 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eau18 Messages postés 118 Statut Membre
     
    Merci beaucoup pour la réponse Jordane, je vais le faire :-)
    0