J'ai 1000 images. Comment puis-je faire wordpress pour générer le pouce uniquement en cas de besoin. Par exemple, le curseur d'accueil n'utilisera que 10 images, je ne veux pas que les 1000 autres images aient cette miniature générée comme une perte d'espace et de ressources.
Il existe un moyen de déclencher add_image_size uniquement en cas de besoin?
Merci
MISE À JOUR Comme vous le mentionnez, ce n'est pas vraiment add_image_size ce dont il a besoin pour être tiré. Ce serait génial de déclencher le redimensionnement de l'image lorsque j'utilise the_post_thumbnail ('slider-thumb'); Peut-être que ce ralentissement est la première vue de l'image, mais cette vue est généralement générée par moi lorsque je passe en revue le message, donc je m'en fiche.
Donc, entre mes messages, curseur, vignettes de blog, vignettes de portefeuille, etc., j'ai 1000 images et je veux que 10 images soient redimensionnées pour le curseur.Je vois beaucoup de ressources gaspillées pour générer la taille de vignette pour les 990 autres images.
J'espère que c'est clair maintenant, désolé pour mon anglais
Réponses:
Jetez un œil au plugin Dynamic Image Resizer d' Otto
la source
Mettez ceci dans votre fichier de fonctions de thème. Cela empêchera Wordpress de créer autre chose que les 3 tailles par défaut lors du téléchargement.
Lorsqu'une image est alors demandée dans une taille particulière, qui n'est pas encore générée, elle ne sera créée qu'une seule fois.
la source
Malheureusement, la réponse de @ Patrick casse les fonctions srcset introduites dans WP 4.4. Heureusement, nous avons juste besoin d'ajouter deux fonctions supplémentaires!
Tout d'abord, nous devons réintroduire temporairement toutes les tailles de vignettes enregistrées dans les métadonnées d'image afin qu'elles puissent être prises en compte:
Ensuite, nous devons parcourir les correspondances et générer les miniatures manquantes:
la source
En fait,
add_image_size()
ne génère pas la miniature, il enregistre simplement une taille d'image disponible sur WordPress.En règle générale, les vignettes sont générées lors du premier téléchargement de l'image. C'est un processus automatique, vous n'avez donc pas à vous soucier de les générer plus tard. Pensez-y de cette façon - si cela prend 1-2 secondes pour générer une vignette sur un serveur lent et que vous attendez jusqu'à ce qu'il soit demandé, vous forcez le demandeur à attendre 1-2 secondes supplémentaires par image pour voir le contenu. Il est beaucoup plus facile de le faire à l'avance, c'est-à-dire lorsque l'image est téléchargée.
En même temps, si vous devez absolument traiter les vignettes à un autre moment, vous voudrez peut-être jeter un œil au plugin Viper Regenerate Thumbnails . Il utilise une action à la demande pour régénérer toutes vos vignettes d'images ... mais vous pouvez utiliser un code similaire pour générer des vignettes uniquement en cas de besoin.
la source
Pas exactement. Mais vous pouvez filtrer la liste des tailles enregistrées juste avant la génération des miniatures. La fonction wp_generate_attachment_metadata () (qui appelle la fonction qui génère les miniatures) possède un filtre appelé "intermediaire_image_sizes_advanced", qui vous permet de manipuler le tableau de tailles juste avant la génération des fichiers. Vous pouvez utiliser ce filtre chaque fois que vous ajoutez une image d'un certain "type", puis la supprimer immédiatement après.
Je suppose que votre plus grand défi serait de comprendre comment faire la différence entre les images qui ont besoin de tailles supplémentaires et celles qui n'en ont pas besoin.
la source
Vous pouvez utiliser mon (pas Ottos ) plugin "Dynamic Image Resize" 1) .
Le plugin est également livré avec une balise de modèle et un shortcode .
1) Je viens de découvrir le plugin Ottos. La collision de noms n'était pas prévue.
la source
Vous pouvez essayer ce plugin: https://wordpress.org/plugins/optimize-images-resizing
Il redimensionne les images en fonction de la taille de votre image enregistrée, mais uniquement en cas de besoin. Peut également nettoyer les tailles d'image existantes afin qu'elles puissent se régénérer.
la source
Le plugin WP Performance Pack offre une "gestion d'image améliorée", basée sur Ottos Dynamic Image Resizer, mais comprend de nombreuses améliorations, par exemple: tout d'abord, il est compatible avec la dernière version de WordPress (3.9.1), utilise WP_Image_Editor, la sauvegarde des miniatures peut être désactivé (mais ils peuvent être mis en cache et le support CDN est en cours), l'intégration de régénération des vignettes (pour supprimer les vignettes existantes) et bien plus encore.
la source
Vous pouvez également essayer Aqua Resizer - https://github.com/syamilmj/Aqua-Resizer/
C'est juste un fichier.
Vous pouvez l'utiliser comme ceci:
la source
Voici encore une autre approche: son accroche dans la gestion des erreurs HTTP 404. Autrement dit, lorsque la vignette n'est pas disponible, recherchez l'image d'origine et créez la vignette. Notez que cela ne résout pas vraiment votre problème, car il n'empêche pas la génération de vignettes pendant le téléchargement.
Notez également que ce plugin peut être utilisé par des utilisateurs malveillants pour créer un nombre quelconque de miniatures et ainsi épuiser votre espace disque.
Remarque: ce plugin peut être facilement installé à l'aide de Pluginception .
la source