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).
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.