- WordPress :5.8
- Statut : non résolu
- Ce sujet contient 4 réponses, 3 participants et a été mis à jour pour la dernière fois par Lumiere de Lune, le il y a 2 années et 10 mois.
-
AuteurMessages
-
3 mars 2022 à 14 h 33 min #2396798
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL : 7.4
- Thème utilisé : Thème from scratch
Problème(s) rencontré(s) :
Bonjour,
J’aimerais un conseil pour le thème que j’intègre. Quand une image est uploadée, elle est dupliquée pour chaque format d’image en subissant nativement cette règle de nommage : name-of-image-{width-of-size}-{height-of-size}.extension.
Par exemple :
- Si je défini a format d’image avec
add_image_size('custom-size', 120, 120)
- Puis que j’uploade une image hello-world.jpg
- Une image hello-world-120-120.jpg est générée
Comment changer cette règle ? J’aimerais que le nom du format passe derrière les dimensions. Si je reprends l’exemple précédent, j’aimerais que l’image soit nommée : hello-world-120-120-custom-size.jpg.
C’est possible ? Il y a un filtre pour ça ?
A très vite j’espère, Merci3 mars 2022 à 16 h 00 min #2396807Cette règle fait partie du « core » de wordpress et elle est utilisée partout pour définir le fichier image à afficher. Donc la réponse est non
(et accessoirement, quel est ton intérêt pour faire ça ? ça répond à quel besoin ?
3 mars 2022 à 20 h 55 min #2396854Bonjour, on ne peut éventuellement que changer le nom des images, pas la structure de nom des miniatures.
4 mars 2022 à 9 h 20 min #2396882Ok, merci pour vos réponses.
@Lumiere de Lune, pour te répondre : un client a installé un plugin retina qui fait automatiquement une copie retina en ajoutant le fameux suffixe @2x avant l’extension. Pour x raisons, il souhaite ne plus utiliser ce plugin et internaliser le processus au thème. Mais il souhaite quand même avoir des images retinas via un système de srcset et avec le même principe de naming.Je tentais donc de reproduire le système. Si je reprends l’exemple du topic.
- Pour un format définis comme ceci
add_image_size('custom-size', 120, 120)
- Je créé un autre format
add_image_size('custom-size-2x', 240, 240)
- Avec le filtre, si j’uploadais une image hello-world.jpg, on aurait obtenu
hello-world-120-120.jpg
ethello-world-120-120@2x.jpg
- Puis j’aurais affiché comme ceci
<img src="hello-world-120-120.jpg" srcset="hello-world-120-120@2x.jpg 2x">
Mais je vais devoir certainement faire autrement.
Merci encore.4 mars 2022 à 11 h 42 min #2396895Ce n’est pas exactement ce que tu décris dans ton post initial, où tu parles d’ajouter le nom du format (donc dans ton exemple, custom size), alors que le plugin retina n’ajoute pas une taille personnalisée, il double le jeu complet d’images générées par wordpress, en ajoutant son suffixe. WordPress, pour toutes les tailles, dispose de son image avec son nom qui se termine par les dimensions.
Tu peux tout simplement regarder dans le code du plugin. Mais je pense qu’il y a une action à l’enregistrement du fichier image (donc sur post_save, avec toutes les conditions nécessaires…) et un filtre sur the_content pour élargir le srcset (cf https://buzut.net/webdesign-pour-ecrans-retina/ ou d’autres techniques https://blog.ippon.fr/2012/11/19/les-images-responsives/
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.