web-dev-qa-db-fra.com

Comment forcer Wordpress to afficher la version la plus récente des images de la médiathèque?

Mon flux de travail est parfois le suivant:

  1. Supprimez plusieurs images de la médiathèque à la fois (nommé par exemple, 01.jpg, 02.jpg, 03.jpg...).
  2. Renouvelez une série d'images avec les mêmes noms de fichier (01.jpg, 02.jpg, 03.jpg...).

La médiathèque conserve et affiche les anciennes images sous forme de vignettes et de prévisualisations, même si elles sont supprimées.

Évidemment, ce problème peut être évité en ajoutant des images avec des noms de fichiers distincts, mais je me demandais s’il existait une meilleure façon de fonctionner, quelle que soit la convention de dénomination. Ou quelque chose d'autre qui me manque complètement?

Merci.

5
user3381

@ t31os Merci pour votre réponse. Je suis sûr que c'est juste mon navigateur qui met en cache les images. Mais (j'aurais dû préciser), je ne suis pas le seul utilisateur. Je préfèrerais ne pas avoir à demander à mes utilisateurs d'actualiser chaque fois qu'ils suppriment quelque chose ou que la mise à jour de la page ne soit pas très pratique, dans le cadre de la suppression d'une image.

Mais c’est la raison pour laquelle nous avons mis en cache le navigateur - pour empêcher le chargement de la même image à chaque fois que nous l’appelons à nouveau. Le navigateur la voit comme la même image.

Vous pouvez créer une solution de contournement en appelant l'image suivante: http://votresite.com/images/01.jpg?v1 et http://votresite.com/images/01.jpg?v2 - cela chargerait la même image 2 fois.

4
stffn

Ceci est un problème de cache du navigateur, not un problème de bibliothèque multimédia WordPress. Si vous voyez les anciennes images dans la médiathèque, c'est parce que vous avez utilisé le même nom de fichier et que votre navigateur tente de gagner du temps et de gagner de la bande passante en chargeant les versions déjà existantes.

Il y a deux façons de résoudre ce problème.

Mise en cache

Ajoutez une variable de requête (?v=5) à la fin des noms d’image tels qu’ils sont utilisés sur le serveur frontal. Cela n'affectera pas la médiathèque ... mais cela empêchera les gens de voir les versions en cache d'anciennes images sur le front-end. Pour référence, il s'agit de la même méthode que nous utilisons dans WP core pour forcer le navigateur à télécharger à nouveau les fichiers JavaScript mis à jour.

mod_expires

Vous pouvez demander à votre serveur (Apache) de définir une date et une heure d'expiration personnalisées pour différentes images, en fonction de l'extension (tous les fichiers jpg ou png) ou du nom du fichier, si vous souhaitez obtenir un rendu vraiment précis. C'est une astuce avancée, mais vous pouvez l'utiliser pour vider immédiatement le cache de tout le monde lorsque vous téléchargez de nouvelles images.

3
EAMann