J'essaie de mettre à niveau une WP installation de 4.0.6 à 4.4.2. La plupart des mises à jour se sont déroulées sans encombre, mais je suis confronté à un message d'erreur assez cool que je n'arrive pas à comprendre:
Warning: Creating default object from empty value in /nas/content/staging/thebaffler/wp-content/themes/baffler/inc/custom-posts.php on line 216
L’erreur semble être provoquée par un fichier de thème qui renomme les étiquettes par défaut utilisées par WP pour le type de contenu "post". Ce qui est étrange, c’est que tous les libellés "post" continuent à être restitués avec les paramètres spécifiés dans le fichier de thème "custom-posts".
Voici un extrait du code en question. 214 est la première ligne extraite ici. Si je commente la ligne 216, le message d'erreur se réfère à 215 à la place:
$labels = &$wp_post_types['post']->labels;
$labels->name = 'Blog';
$labels->singular_name = 'Blog';
$labels->add_new = 'Add Blog entry';
$labels->add_new_item = 'Add Blog entry';
$labels->edit_item = 'Edit Blog entry';
$labels->new_item = 'Blog entry';
$labels->view_item = 'View Blog entry';
$labels->search_items = 'Search Blog Entries';
$labels->not_found = 'No Blog entries found';
$labels->not_found_in_trash = 'No Blog entries found in Trash';
$labels->all_items = 'All Blog Entries';
$labels->menu_name = 'Blog';
$labels->name_admin_bar = 'Blog';
En regardant dans le codex, je ne vois aucune modification récente apportée à wp_post_types
. https://codex.wordpress.org/Function_Reference/get_post_type_object
Que dois-je faire ensuite pour résoudre cette erreur?
Merci james
Ce que cette erreur dit, c’est que $labels
est un objet vide et qu’il ne peut donc pas l’affecter.
$foo = NULL;
$foo->labels = false; // This causes the error
Voir cet article Stack Overflow pour des détails techniques: https://stackoverflow.com/questions/8900701/creating-default-object-from-empty-value-in-php