web-dev-qa-db-fra.com

Miniatures de même taille avec des cultures différentes

Existe-t-il un moyen de générer des vignettes de mêmes dimensions, mais avec un recadrage différent?

Je veux faire quelque chose comme:

add_image_size( 'thumbnail_top', 360 , 180 , array ('center', 'top') ); 
add_image_size( 'thumbnail_middle', 360 , 180 , array ('center', 'center') ); 
add_image_size( 'thumbnail_bottom', 360 , 180 , array ('center', 'bottom') );

mais il n'y a rien dans le nom de fichier qui définisse le recadrage; le fichier de vignette est donc toujours remplacé par le dernier de la liste de la même taille. Par conséquent, dans cet exemple, 'thumbnail_top' s'affichera toujours sous la forme 'thumbnail_bottom'.

6
mistertaylor

Vous pouvez définir vos propres tailles de recadrage, mais vous pouvez créer une fonction qui accepte la taille de l'image + la position de l'image, puis chargez vos images en conséquence.

Par exemple-

<?php
  $size = 'medium';

  $pos = array(
    'top' => '100',
    'left' => '100'
  );

  function load_image_with_pos( $img_id, $size, $pos ) {
    $img_src = wp_get_attachment_image_src( $img_id, $size );
    $new_img = array(
      'url' => $img_src,
      'size' => $size,
      'position' => $pos
    );

    return $new_img;
  }
?>

J'espère que ça aide

1
Neit