set_post_thumbnail_size vs add_image_size

10

Quelle est la différence entre set_post_thumbnail_size et add_image_size? Set_post_thumbnail_size est-il pour toutes les images et add_image_size pour le redimensionnement individuel?

Merci.

    
posée Greeso 01.08.2013 - 09:48

2 réponses

24

Lorsqu'une image est téléchargée dans WordPress, elle est enregistrée dans son format original ainsi que sous certaines copies redimensionnées de différentes tailles. De cette manière, il devient facile d’utiliser différentes tailles, de la même image, à des fins différentes.

Par défaut, WordPress crée 3 copies en 3 tailles différentes:

  • 'thumb'
  • 'medium'
  • 'large'

La taille en pixels de ces 3 tailles peut être définie dans le tableau de bord WordPress, dans le menu Settings -> Media .

Maintenant, la fonction add_image_size est utilisée pour enregistrer une nouvelle taille, qui ajoute à la 3 valeurs par défaut.

Chaque taille enregistrée peut être récupérée en utilisant son nom, dans certaines fonctions de WordPress, par exemple. wp_get_attachment_image_src , wp_get_attachment_image , wp_get_attachment_link .

Toutes ces fonctions acceptent un paramètre $size qui devrait être le nom de l’une des tailles enregistrées (l’un des 3 standards ou l’une des tailles personnalisées enregistrées avec add_image_size ).

Si 'full' est utilisé en tant qu'argument $size , l'image d'origine est renvoyée, celle non redimensionnée.

Outre les fonctions mentionnées ci-dessus, deux autres fonctions utilisent les tailles d’image: get_the_post_thumbnail et the_post_thumbnail .

Ces deux fonctions permettent d'obtenir (la première) et d'écho (la seconde) l'image définie comme "Image en vedette" pour un message.

Ce qui est renvoyé (ou répercuté) par ces fonctions est une balise complète img html, quelque chose comme

<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />

Alors, quelle est la taille utilisée?

Si un $size est passé en tant que deuxième argument (le premier est $postid ), ces fonctions renvoient l'image dans cette taille. Sinon, ces fonctions recherchent une taille d’image enregistrée sous le nom: post-thumbnail .

Il ne s'agit pas d'une des 3 tailles par défaut. En fait, il s'agit de la 4ème taille standard (la 5ème est considérée comme full ) et vous pouvez l'enregistrer en appelant set_post_thumbnail_size .

Alors

set_post_thumbnail_size( $width, $height, $crop );

est un raccourci pour

add_image_size( 'post-thumbnail', $width, $height, $crop );

Si vous n'avez pas appelé set_post_thumbnail_size (ce qui signifie que la taille 'post-thumbnail' n'est pas créée), WordPress utilisera la taille thumb et, même si cette taille n'est pas disponible, WordPress utilisera l'image d'origine. celui non redimensionné.

Il peut être très utile d’enregistrer des tailles d’image personnalisées lors de la conception d’un thème, mais il est important de ne pas abuser de: toutes les images téléchargées sont copiées et redimensionnées pour toutes les tailles enregistrées. ralentissez considérablement le processus de téléchargement des images.

Une note:

Sachez que lorsque WordPress crée des copies à l’échelle d’une image, il ne l’agrandit jamais, mais ne crée que des copies plus petites: par exemple. si l'image d'origine est 400x500px et que la taille de l'image "moyenne" est 800x600px, la taille moyenne et supérieure sont non créées.

Ainsi, l'enregistrement d'une taille d'image ne donne jamais la garantie qu'un fichier image pour chaque taille enregistrée existe réellement dans le dossier de contenu WordPress. Même parce que la taille des images enregistrées change facilement: modification des paramètres, changement de thème, etc.

Lorsqu'une taille d'image change pour une raison quelconque, cette modification a un effet sur les images téléchargées après . Les images téléchargées auparavant ne changent pas de dimensions et ne sont pas redimensionnées et sauvegardées.

S'il est nécessaire de s’appuyer sur des tailles d’image spécifiques après le téléchargement d’images (par exemple, après le changement de thème), le plug-in Regenerate Les miniatures vous sauveront la vie.

    
réponse donnée gmazzap 01.08.2013 - 11:03
1

Du Codex:

set_post_thumbnail_size

  

Définissez les dimensions par défaut de l’image sélectionnée (anciennement Publier la vignette).   Pour enregistrer des tailles d'image supplémentaires pour les images en vedette, utilisez:   add_image_size ().

add_image_size

  

Enregistre une nouvelle taille d'image. Cela signifie que WordPress créera un   copie de l'image sélectionnée (anciennement connue sous le nom de post thumbnail) avec le   dimensions spécifiées lorsque vous téléchargez une nouvelle image.

    
réponse donnée Krzysiek Dróżdż 01.08.2013 - 09:55

Lire d'autres questions sur les étiquettes