Je ne sais pas si chez vous c’est pareil mais lors d’une mise à jour de mes blogs (la version 3.4 si je me souviens bien) il s’avère que ma gestion des images à la une a été un peu perturbée. Avant je fonctionnais avec des plugins pour « ajouter » automatiquement des images à la une aux articles qui n’en avaient pas car cette fonctionnalité n’est arrivée qu’à la version 3 de wordpress. Cela fonctionnait très bien jusqu’au passage à WordPress 3.4.
Après de longues recherches sur les forums dédiés je n’ai pas trouvé de solution miracle à la disparition des mes images à la une pour tous mes articles avant décembre 2009. Alors j’ai essayé de comprendre ce qu’il se passait… Direction phpMyAdmin pour visiter les bases de données du blog pour voir ce qu’il se passe avec les « featured images ». En regardant la table wp_postmeta j’ai constaté que la clé « _thumbnail_id » comportait des valeurs inexistantes pour tous les articles datés d’avant décembre 2009, comme si wordpress avait volontairement renseigné ce champ avec une valeur nulle. Pour information cette valeur doit être le « post_id » de l’image utilisée en « featured image ». Alors plutôt que d’attendre une solution miracle je ne suis dit que l’on pouvait peut être affecter directement l’id d’une image utilisée dans l’article afin d’avoir une vrai « featured image ».
Voici donc comment j’ai procédé : je sélectionne tous les champs avec la clé _thumbnail_id, puis je recherche dans la table wp_posts s’il y a des images associées à l’article dont nous avons récupéré l’identifiant, si oui je prend la première image, ensuite il ne reste plus qu’à modifier la table wp_postmeta pour renseigner le bon « id » de l’image que l’on souhaite utiliser comme image à la une.
Une fois cette modification faite, vous pouvez faire une passe avec un plugin comme « Auto Post Thumbnail » pour regénéré les vignettes, cela ne fait pas de mal et corrigera quelques bugs d’affichage.
Pour les plus motivés, vous pouvez retrouver ce bout de code sur github, libre à vous de l’améliorer bien entendu! Pour les autres, désolé cet article est un peu pointu!