web-dev-qa-db-fra.com

Le contenu multimédia a disparu après la mise à niveau WP noyau à 3.5.1

mes médias -> Le contenu de la bibliothèque a disparu du tableau de bord, mais je peux toujours le voir dans le dossier de mon site actuel.

Quelqu'un pourrait-il me dire comment résoudre ce problème?

Je vous remercie

1
Adam

prémisse :

Je ne suis pas certain de la raison exacte de votre problème, mais après les commentaires et compte tenu du niveau d’expertise de l'utilisateur en matière de codage, je publie cette réponse en décrivant non pas la solution ultime, mais les étapes que j'aurais prises en compte face à un problème similaire. Il y a peut-être de meilleures approches et j'aimerais les entendre, mais comme je l'ai dit, je la présente comme une option pour un utilisateur normal sans capacités de codage ou de débogage.

Etrangement, hier, alors que je vous commentais, une chose similaire m'est arrivée sur localhost. Après une brève enquête, j'ai découvert qu'une de mes tables de base de données (wp_posts) avait été endommagée (la première fois en 6 ans de WP).

enter image description hereenter image description here

Les symptômes étaient:

  • Toutes les pièces jointes ont disparu (mais toujours sur le serveur).
  • Impossible de publier de nouveaux messages (soumettre uniquement en aperçu)
  • Impossible de joindre de nouvelles images

Comme les symptômes peuvent différer des vôtres, il en va de même pour la récupération, Cela reste leads me to think that you have some damaged DB table ..

Donc, pour résoudre ce problème, vous pouvez faire l’une des trois choses suivantes:

1 - Réinstallez complètement votre site Web, y compris DB

Cela dépend de la quantité de contenu que vous avez sur le site Web et du temps que vous souhaitez consacrer à la récupération totale.

vous aurez essentiellement besoin de copier et coller, télécharger toutes les images, créer de nouvelles catégories et publier. Aucune importation n'est suggérée puisqu'il s'agit de tables DAMAGED où les relations d'informations elles-mêmes sont endommagées.

2 - Essayer de RESTAURER la table endommagée .

Allez dans votre PhpMyadmin, et allez dans YourDB -> structure puis marquez vos tables (un par un) et choisissez "restore"

enter image description here

3 - Essayez de gérer le symptôme visible des pièces jointes perdues en ignorant d’autres problèmes possibles encore à découvrir:

Bien que ce soit le moins recommandé pour moi, ce pourrait être le premier essai pour quelqu'un qui a beaucoup de contenu et peu de temps.

Dans ce cas, je pense que votre solution la plus simple serait d’essayer de recharger toutes les images. Mais il ya un hic. Si vous voulez les télécharger à nouveau dans le même dossier de téléchargement, Wordpress essaiera d'éviter les conflits de noms et les renommera en numéros séquentiels (par exemple, image.jpg sera chargé comme image1.jpg etc ...), ce qui les empêchera d'être reconnus comme étant l'original. images insérées ..

Vous devez donc SAUVEGARDER votre dossier de téléchargement vers un autre emplacement, puis SUPPRIMER toutes les images du dossier wp-content/uploads. À ce stade, vous devez les télécharger à nouveau à partir du dossier de sauvegarde et les joindre. (maintenant ainsi les mêmes noms)

Vous pourriez :

  • Faites-le manuellement sur chaque publication (mais si vous choisissez cette option, il est déjà préférable de choisir l'option de récupération NO.1.)
  • Utilisez des plugins tels que add-from-server , puis un autre comme unattach-and-re-attach pour résoudre le problème.
  • en fonction de l'automatisation de votre site et de son codage, vous avez la troisième possibilité de joindre toutes les images à UN message afin de les "télécharger" et de leur attribuer GUID, puis elles seront reconnaissable à nouveau en tant qu'images insérées, mais cette option est réservée à une personne connaissant bien le code et capable de gérer l'attribution automatique de miniatures de messages et d'images en vedette, etc.

Notez que pour conserver les mêmes noms, vous ne devrez télécharger que les tailles ORIGINAL et non les tailles personnalisées (ce qui signifie image.jpg et non image-800x600.jpg).

Pour résumer, il n’ya pas de solution facile à ce que je sache pour un tel problème, mais pour l’éviter à l’avenir, regularly backup of your DB est toujours un bon conseil.

WILD GUESS EDIT De plus, dans les commentaires, vous indiquez que vous avez supprimé un utilisateur, puis "restauré" les publications de la base de données. Cela peut aussi être la racine du problème, bien que difficile à confirmer.

Dans ce cas, vous devrez faire quelque chose comme ceci:

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

Mais la prochaine fois, lorsque vous supprimez un utilisateur, veillez à attribuer toutes les publications à un autre utilisateur avant de le supprimer.

1
krembo99

OK, vous avez donc supprimé les données de la table wp_posts, puis restauré les publications à partir de la corbeille. Cela doit fonctionner si Wordpress n'a pas stocké les entrées de la médiathèque dans la table wp_posts. Le problème est que toutes les entrées ont été supprimées, il n'y a aucun enregistrement pointant sur l'image téléchargée, donc Wordpress ne la reconnaît pas!

Vous pouvez le voir vous-même, ouvrir phpMyAdmin ou tout autre MySQLClient et parcourir la table wp_posts, puis observer la colonne post_type, il doit y avoir un enregistrement de type 'attachment', et oui, il s’agit des médias que vous avez récemment chargés. Les anciennes entrées de type 'attachment' n'existent plus, car vous les avez supprimées. Si vous avez une sauvegarde ou quelque chose de ce type, vous pouvez probablement restaurer ces données uniquement en pièces jointes en les sélectionnant et en les exportant. Peut-être que cela peut vous aider :

https://wordpress.stackexchange.com/a/95683/31384

0
Mohsenr1