web-dev-qa-db-fra.com

Vignette Recadrer avec add_image_size?

Je veux que mes vignettes sur une page particulière soient 300px × 100px, exactement. Actuellement, les images sont réduites jusqu'à ce qu'elles atteignent les 300 ou 100 pixels. Comment puis-je obtenir l'image pour recadrer à exactement 300 × 100 (de préférence sans distorsion de l'image).

// functions.php:
if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );

if ( function_exists( 'add_image_size' ) ) { 
    add_image_size( 'post-thumb', 620, 207, true );
    add_image_size( 'home-thumb', 220, 180, true );
    add_image_size( 'index-thumb', 300, 100, true );
}
// index.php:
if ( has_post_thumbnail()) the_post_thumbnail('index-thumb');
1
pope

Reportez-vous à theadd_image_size()Entrée de codex :

<?php add_image_size( $name, $width, $height, $crop ); ?>

Le paramètre$cropest la clé:

(booléen) (facultatif) Recadrer ou non l'image. False - Mode de rognage proportionnel progressif; True - Mode de rognage difficile.

Par défaut: false

C'est:

  • False (par défaut): box-resize - (redimensionne l'image par rapport à la dimension contraignante)
  • True : rognage brutal - rognage de l'image exactement aux dimensions spécifiées

Ainsi, votre code devrait fonctionner:

// Add Theme support
add_theme_support( 'post-thumbnails' );

// Register custom image sizes
add_image_size( 'post-thumb', 620, 207, true );
add_image_size( 'home-thumb', 220, 180, true );
add_image_size( 'index-thumb', 300, 100, true );

Si vous constatez que vos images ne sont pas restituées/affichées correctement, il y a plusieurs choses à vérifier:

  • Pour les images ajoutées avant implémentation de ces tailles d'image personnalisées, vous devez régénérer les vignettes pour ces images
  • Les tailles d'image ne seront pas générées pour les images qui ne sont pas au moins aussi grandes que les dimensions spécifiées pour une taille d'image donnée. Par conséquent, assurez-vous que vos images sont au moins aussi grandes que la taille d'image la plus stricte que vous avez définie. (Les images redimensionnées par une boîte ne sont pas aussi contraintes et doivent être au moins aussi grandes que la dimension la plus petite d'une taille d'image donnée.)
4
Chip Bennett

Jetez un oeil à ce plugin

  • il crée des tailles d'image illimitées (recadrées et non)
  • il ajoute des tailles sur le champ de sélection du support
  • il ajoute le filtrage css et les animations
  • il peut gérer les filigranes
0
AD-THEME