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:
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).
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.
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.
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?