web-dev-qa-db-fra.com

Comment définir la taille par défaut de la "taille de l'image"?

Je sais que je peux configurer des types de publication, des pages et des publications personnalisées pour utiliser les images en vedette dans wordpress en activant la prise en charge des thèmes:

add_theme_support( 'post-thumbnails');

Ou activer la prise en charge de thèmes pour un ensemble spécifique de types de publication:

    add_theme_support( 'post-thumbnails', array('post','page'));

Je sais aussi que je peux ajouter une "taille d'image" comme ceci:

add_image_size( 'media_library', 333, 230, true );

Mais comment contrôler la taille d'image de "l'image de fonctionnalité" qui s'affiche réellement sur l'écran d'édition de Wordpress? Par exemple, dans TwentyEleven, j'ai téléchargé une photo carrée qui apparaît sous la forme d'un rectangle dans la zone d'image sélectionnée de l'écran d'édition:

Photo 1.png http://img72.imageshack.us/img72/1325/picture1fj.png

Comment choisissez-vous la taille de l'image affichée?

1
cwd

Je crois que c’est à cela que sert la fonction set_post_thumbnail_size.

Définissez les dimensions par défaut de la miniature de publication. Pour enregistrer des tailles d’image supplémentaires pour les miniatures Post, utilisez: add_image_size ().

Voir http://codex.wordpress.org/Function_Reference/set_post_thumbnail_size

1
mark

Si vous avez ajouté une coutume avec les 3 tailles:

add_image_size( 'small', 111, 222, true );
add_image_size( 'medium', 333, 333, true );
add_image_size( 'large', 444, 555, true );

Vous les utiliseriez ensuite dans les fichiers de thème en utilisant les noms que vous avez donnés pour la fonction, comme ceci:

<?php the_post_thumbnail('small'); ?>

ou

<?php the_post_thumbnail('medium'); ?>

et:

<?php the_post_thumbnail('large'); ?>

Les images existantes doivent être régénérées à l'aide des plug-ins régénérer les miniatures, mais toutes les nouvelles seront recadrées comme spécifié.

2
Jeremy Jared

Faire une recherche pour Featured Image J'ai été conduit à \wp-admin\edit-form-advanced.php, où j'ai trouvé un metabox ajouté avec un paramètre de rappel de post_thumbnail_meta_box.

J'ai ensuite fait une recherche sur post_thumbnail_meta_box, et je me suis retrouvé dans \wp-admin\includes\meta-boxes.php, où nous pouvons voir que WP obtient la vignette de la publication avec:

$thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );

et puis fait de la magie avec ceci:

echo _wp_post_thumbnail_html( $thumbnail_id );

La recherche de function _wp_post_thumbnail_html nous amène à \wp-admin\includes\post.php, où nous voyons que WP détermine la taille qu'il souhaite utiliser, mais au tout dernier moment, nous avons la possibilité de modifier l'image via:

return apply_filters( 'admin_post_thumbnail_html', $content );

Exemple:

function admin_post_thumbnail_kittenifier( $content ) {
    // In reality, you might want to replicate some of the code from _wp_post_thumbnail_html(), but this gives you the idea
    return "<img src='http://placekitten.com/200/300' alt='I can has toxoplasma gondii?'/>";
}
add_filter( 'admin_post_thumbnail_html', 'admin_post_thumbnail_kittenifier' );
1
Dave Romsey