web-dev-qa-db-fra.com

Pourquoi wp_get_attachment_image_src ne fonctionne-t-il pas avec ma taille personnalisée (add_image_size)?

J'ai ajouté une taille d'image avec

add_image_size('gallery-thumb', 48, 48);

Pourquoi quand je fais

array_slice(wp_get_attachment_image_src($firstimg->ID, 'gallery-thumb'))

Je reçois le lien vers l'image en taille réelle?

METTRE À JOUR

D'une certaine manière, il semble que même quand je fais

wp_get_attachment_image_src($photo->ID, array(48,48))

Je reçois la vignette (150, 150)

4
JM at Work

Le fichier miniature 48x48 existe-t-il? Sinon, vous pouvez utiliser un plugin comme Regenerate Thumbnails.

6
scribu

J'ai été aux prises avec le même problème cet après-midi. La façon dont wordpress gère les vignettes n’est pas très intuitive, mais il semble que:

  • Les miniatures ne sont générées que lors du téléchargement. Donc, si vous développez et avez ajouté une nouvelle taille, vous devrez supprimer et remplacer votre média ou régénérer les vignettes avec un plugin (je n'ai pas cherché de solution native - ça semble ridicule qu'il n'y en ait pas! ) comme le suggère Scribu pour pouvoir l'utiliser.

  • Le paramètre de taille semble générer des vignettes de taille arbitraire, mais je crois qu’il s’agit en fait de mapper sur la taille de vignette la plus proche qui a déjà été générée. C'est pourquoi vous obtenez des vignettes de 150 x 150 pixels lorsque vous demandez des vignettes de 48 x 48 pixels.

Cet article entre beaucoup plus en détail: http://www.studiograsshopper.ch/web-development/wordpress-featured-images-add_image_size-resizing-and-cropping-demo/

3
Erik Schoster