web-dev-qa-db-fra.com

L'image sélectionnée toujours avec 198px de hauteur?

J'ai ajouté ce qui suit à mon fichier functions.php :

set_post_thumbnail_size( 500, 500);

J'ai activé l'image sélectionnée (support => 'thumbnail') dans un message personnalisé, tapez un créé (appelé contenu de la page).

Lorsque je définis une image en tant qu'image sélectionnée (l'image que j'utilise a 500px de hauteur), l'image est toujours restituée avec une hauteur de 198px.

EDIT:

Il affiche 198px en dernière page et 117px dans le panneau d'administration.

C'est le code de la sortie finale:

<img class="attachment-post-thumbnail wp-post-image" width="448" height="198" title="2974999772_7085da4d34" alt="2974999772_7085da4d34" src="http://localhost/wp-alex-chen/wp-content/uploads/2011/01/2974999772_7085da4d344-448x198.jpg

Voici le code de l'image sélectionnée dans le panneau d'administration:

<img width="266" height="117" title="2974999772_7085da4d34" alt="2974999772_7085da4d34" class="attachment-post-thumbnail" src="http://localhost/wp-alex-chen/wp-content/uploads/2011/01/2974999772_7085da4d344-448x198.jpg">

Panneau Modifier le message:

enter image description here

Des suggestions pour résoudre ceci? (les messages "normaux" ont également le même problème (hauteur = 198px)

EDIT2: J'ai ajouté ceci à functions.php:

if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );
if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'thumb-1', 320, 280, true );
}

Le recadrage est défini, mais l'image est rendue au format 250px 280px (elle doit être rendue au format 320px x 280px).

1
janoChen

Je pense que vous utilisez un thème enfant de TwentyTen et que vous avez cette ligne dans le thème TwentyTen:

set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );

et HEADER_IMAGE_HEIGHT est 198px.

2
Jimmy

Utiliser <?php the_post_thumbnail('large'); ?> au lieu de <?php the_post_thumbnail(); ?> a résolu le problème.

<?php the_post_thumbnail(); ?> semble avoir un paramètre par défaut très étrange pour redimensionner les vignettes.

1
janoChen

OK, après avoir examiné un peu la manière dont wordpress génère le code HTML pour l’image sélectionnée trouvée avec editor_max_image_size dans dans wp-includes/media.php à la ligne 76 , le filtre décisif à connecter.

Au début, bien sûr, vous devez configurer la taille de votre image individuelle comme d'habitude dans votre function.php , par exemple, je souhaite une taille de post-miniature de 600px x 400px:

function abc_set_size() {
   add_image_size( 'post-thumbnail', 600, 400, true );
}
add_action( 'after_setup_theme', 'abc_set_size' );

Wordpress souhaite utiliser cette dimension pour l'image sélectionnée (définie dans le thème) à l'intérieur du backend, mais revenir à une taille standard avec ce filtre à la ligne 76. Le crochet de filtre a 3 paramètres pour différencier quelle image doit être "ajustée". sa dimension:

function abc_my_editor_size($size_array,$size,$context) {
   global $_wp_additional_image_sizes;

   if($size == 'post-thumbnail' && $context == 'edit')
       return array( 
          $_wp_additional_image_sizes[$size]['width'],    
          $_wp_additional_image_sizes[$size]['height'] );

   return $size_array;
}
add_filter('editor_max_image_size', 'abc_my_editor_size', 10, 3);

Tout comme voulu, seule la dimension de l'image sélectionnée dans le backend d'administration est modifiée. J'utilise le tableau global $_wp_additional_image_sizes pour avoir accès à la dimension d'image définie pour une post-vignette.

Fonctionne bien pour moi, je le recommanderais! Des idées à ce sujet?

1
Alex