web-dev-qa-db-fra.com

set_post_thumbnail_size vs add_image_size

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 dimensionnement individuel des images?

Merci.

10
Greeso

Lorsqu'une image est téléchargée dans WordPress, elle est enregistrée dans sa taille d'origine, ainsi que sous certaines copies redimensionnéesde tailles différentes). Il devient ainsi 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, sous le menu Settings -> Media.

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

Chaque taille enregistrée peut être récupérée sous son nom, dans certaines fonctions 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é comme argument $size, l'image d'origine est renvoyée, celle qui n'a pas été redimensionnée.

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

Ces deux fonctions obtiennent (la première) et répercutent (la seconde) l'image définie comme "Image en vedette" pour une publication.

Ce qui est renvoyé (ou répercuté) par ces fonctions est une balise HTML complète img, 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 avec le nom: post-thumbnail.

Ce n'est pas une des 3 tailles par défaut, en fait, c'est 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_sizece 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, celle non redimensionnée.

L'enregistrement de tailles d'image personnalisées peut s'avérer très utile lors de la conception d'un thème, mais il est important de ne pas abuser de: _ (chaque imagetéléchargée est copiée et redimensionnée pour toutes les tailles enregistrées; l'enregistrement de nombreuses tailles ralentira considérablement le téléchargement des images. processus.

Une note:

Sachez que lorsque WordPress crée des copies à l’échelle d’une image, il ne l’agrandit jamais, il ne fait 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 pascréées.

Donc, enregistrer une taille d'image ne donne jamais l'assurance qu'un fichier image pour chaque taille enregistrée en fait existe 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, la modification a un effet sur les images téléchargées aprèsqui change; les images téléchargées avant ne changent pas de dimensions et sont pasredimensionnées et sauvegardées.

Si vous devez vous fier à des tailles d’image spécifiques après le téléchargement d’images (par exemple, après avoir changé de thème), le plug-in Régénérer les vignettes vous sauvera la vie.

24
gmazzap

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 une copie de l'image sélectionnée (anciennement appelée vignette de publication) avec les dimensions spécifiées lors du téléchargement d'une nouvelle image.

1
Krzysiek Dróżdż