Suite à la mise à jour de PHP, mon fichier d’erreurs du site a commencé à afficher le message suivant :
PHP Warning: Creating default object from empty value in /wp-content/themes/skyminds/functions.php on line 1213
La ligne en question correspond à :
$posts[0]->comment_status = 'closed';
Code language: PHP (php)
Le problème réside dans le fait que $posts
n’est pas explicitement défini et comme les versions récentes de PHP tournent maintenant avec le mode E-STRICT par défaut, on obtient une erreur. Il existe deux solutions – soit mettre :
$posts = new stdClass();
Code language: PHP (php)
s’il sagit d’un objet, soit mettre :
$posts = array();
Code language: PHP (php)
s’il s’agit d’une associative array, juste avant la ligne de code incriminée. Dans mon cas, l’array()
est la bonne solution.
Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.
Je viens d’avoir cette erreur en passant en prod un site sous codeigniter (aucun warning en dev) et aucune des 2 solutions ne passe malheureusement.
Est ce que depuis tu aurais trouvé une autre solution supplémentaire?
Merci