web-dev-qa-db-fra.com

Wordpress supprime les données EXIF ​​d'un pouce spécifique

Est-il possible dehookin d'agir lors du téléchargement et du redimensionnement d'une taille spécifique ajoutée par add_image_size( 'mini-placeholder', 32 ) pour une image dans Wordpress, et de supprimer les données EXIF ​​et de définir la qualité de celle-ci au minimum (10/20%) ?

Je veux atteindre petit pouce sous 1ko (l'objectif est le plus petit possible).

3
Isu

En supposant que vous utilisez ImageMagick (le standard WP) comme bibliothèque, il existe un filtre appelé image_strip_meta qui contrôle si les données EXIF ​​doivent être préservées. Normalement, vous utiliseriez simplement un booléen pour faire un réglage global, mais vous pourriez facilement en faire une fonction comme celle-ci:

add_filter ('image_strip_meta','wpse239481_conditional_strip')

function wpse239481_conditional_strip {
  if (...condition ..) return true else return false;
  }

Le problème est dans la condition. Vous devez accéder au libellé actuel de la vignette, ce qui ne découle pas de la méthode multi_resize qui met les choses en place. Cependant, la largeur et la hauteur cibles sont connues dans la fonction redimensionner où réside le filtre. Néanmoins, vous ne pouvez pas accéder à ces dimensions à l'intérieur du filtre, sauf si vous piratez le noyau pour que cette instance de apply_filters passe des paramètres.

À moins bien sûr que quelqu'un de plus intelligent que moi connaisse un tour.

1
cjbj