web-dev-qa-db-fra.com

Impossible d'obtenir la taille d'image définie avec la fonction set_post_thumbnail_size ()

J'ai un problème avec la fonction set_post_thumbnail_size (), qui semble ne pas fonctionner. Ou du moins cela ne fonctionne pas correctement.

J'ai défini une taille de vignette 75x75px dans les paramètres WordPress de la section Multimédia et également défini une autre taille de vignette dans le fichier functions.php en utilisant:

set_post_thumbnail_size(80, 80, true);

Comment ces deux paramètres sont-ils censés fonctionner? Je crois que celui que j'ai défini dans le fichier function.php (80x80px) devrait remplacer l'autre dans les paramètres de support. Ai-je raison?

Ce n'est cependant pas le cas. Les deux tailles de l'image existent dans mon dossier de téléchargement et le pire est que je ne puisse pas obtenir celui que j'ai défini avec set_post_thumbnail_size () quoi qu'il arrive.

Quand j'appelle

the_post_thumbnail($id, 'thumbnail');

J'obtiens celui qui est défini dans les paramètres de média et non celui que j'ai défini dans le fichier functions.php de mon thème. Comment puis-je obtenir l'autre?

MISE À JOUR: Il semble que j'ai foiré 'vignette' et 'post-vignette'. Dans les paramètres de support, je peux définir la taille de la vignette, c'est-à-dire une autre taille d'image "moyenne" et "grande". Utilisation de set_post_thumbnail_size () Je peux définir la taille de la post-vignette (image vedette). Désolé pour le gâchis et merci pour les réponses.

1
nautilus7

Ils travaillent indépendamment les uns des autres. Vous devez appeler celui que vous avez créé dans le fichier functions.php.

Donc, dans votre functions.php, vous auriez quelque chose comme:

if (function_exists('add_theme_support')) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 75, 75, true ); // default thumbnail size
add_image_size('my-custom-thumb', 80, 80, true); //custom size
}

et ensuite, pour appeler votre miniature personnalisée, vous ajouteriez ceci à l'endroit où vous souhaitez qu'elle apparaisse:

<?php echo the_post_thumbnail('my-custom-thumb'); ?>
2
Fraggy

Comme la question initiale faisait réellement référence à la vignette et non à la post-vignette, vous pouvez mettre à jour la taille de la vignette dans functions.php en utilisant:

// we can override the defaults
update_option('thumbnail_size_w', 170);
update_option('thumbnail_size_h', 170);

Cela fonctionne aussi pour les moyennes et grandes entreprises:

update_option('medium_size_w', 768);
update_option('medium_size_h', 576);

update_option('large_size_w', 1020);
update_option('large_size_h', 768);

J'espère que ça aide!

1
lewismcarey

AFAIK set_post_thumbnail_size() ne remplacera pas le réglage du support.

assurez-vous que votre thème prend en charge les post-vignettes

if ( function_exists( 'add_theme_support' ) ) {
    add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 75, 75,true );
}

et définissez l'image en tant qu'image sélectionnée dans les écrans Éditer une page et Éditer une page pour appeler la post-vignette.

if ( has_post_thumbnail() ) {
    the_post_thumbnail();
}

OR

echo get_the_post_thumbnail($id); 

REF: http://codex.wordpress.org/Post_Thumbnails

0
Gembel Intelek