Développement de thèmes WordPress : Obtention d’une erreur d’index non définie

Publié par Jean-Michel le

bonjour je suis développeur de thèmes wordpress. j’ai créé un thème qui fonctionne bien dans WP_DEBUG=False mais obtient une erreur d’index indéfinie lorsque j’ai défini WP_DEBUG=True

Mon thème a une page d’options, chaque fois que je clique sur enregistrer, j’obtiens ces erreurs :

Notice: Undefined index: ang_temp in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php  on line 147

Notice: Undefined index: ang_breadcrumbs in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Notice: Undefined index: ang_hide_social in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Notice: Undefined index: ang_hide_tw in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Notice: Undefined index: ang_hide_fb in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Notice: Undefined index: ang_hide_ms in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Notice: Undefined index: ang_hide_rss in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 147

Warning: Cannot modify header information - headers already sent by (output started at C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php:147) in C:xampphtdocswordpresswp-contentthemesAngeliafunctions.php on line 156

Voici mes thèmes functions.php Je ne sais pas ce que je fais de mal. J’ai très peu de connaissances en php. J’espère que les gars ayant des connaissances en php ou en développement de thèmes wordpress pourront vous aider.

Solution n°1 trouvée

146. foreach ($options as $value) {
147.   update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

Le bit de code qui produit cette erreur (ci-dessus) ne vérifie pas s’il $_REQUEST[ $value['id'] ]existe. Les erreurs que vous obtenez suggèrent que ce n’est pas le cas (vous ne recevrez cet avis que si la vérification complète des erreurs est activée). D’autres parties de votre code vérifient l’existence de cette variable avant de l’utiliser (elles sont donc OK) et suggéreraient que vous devriez faire la même chose ici.

Vous dites que votre thème fonctionne correctement lorsque le débogage est désactivé, cela suggère donc que vous n’avez qu’à vérifier l’existence de cette variable avant de l’utiliser. Quelque chose comme (en remplaçant les 2 lignes ci-dessus):

foreach ($options as $value) {
  if (isset($_REQUEST[ $value['id'] ])) {
    update_option( $value['id'], $_REQUEST[ $value['id'] ] );
  }
}

Cependant, bien que cela devrait éviter vos « erreurs » (ce ne sont que des avis ), je ne connais pas les thèmes wordpress, je ne peux donc pas dire avec certitude s’il s’agit d’un comportement attendu ou s’il y a quelque chose sous-jacent qui est en faute.

Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *