2010-10-06 3 views
9

Vous pouvez activer les images en vedette des postes et définir leur taille en utilisant le code suivant dans votre fichier function.php:Wordpress différente taille de l'image sélectionnée pour les différents types de postes

add_theme_support('post-thumbnails'); 
set_post_thumbnail_size(107, 69, true); 

mais définit la taille de l'image à l'échelle mondiale pour tous les types de messages. Im en utilisant wordpress 3.0 et ont créé mon propre type de message personnalisé. Est-il possible d'appliquer différentes tailles de vignettes pour différents types de publications?

Merci

Scott

Répondre

13

Dans votre fichier fonctions de thème, vous pouvez définir de nouvelles tailles d'image qui s'appliquent à toutes les images téléchargées à partir de là avant:

add_image_size('new-thumbnail-size',600,340, true)

Une fois que vous avez défini une nouvelle taille d'image, vous pouvez utiliser the_post_thumbnail comme d'habitude, mais incluez la nouvelle taille d'image pour afficher celle au lieu de la vignette par défaut:

the_post_thumbnail('new-thumbnail-size')

Un peu plus en détail: http://gavinsmith.me/2010/10/multiple-post-thumbnail-featured-image-sizes-in-wordpress/

+1

Je sais tout cela déjà, mais ce n'est pas ce que j'ai demandé. Si je mets une image en vedette, il va utiliser la taille post-vignettes, mais ce que je veux arriver, c'est que si Im dans un type de poste différent lorsque j'utilise l'image en vedette, il utilise une taille différente de post thumbnails. – Brady

+0

Voilà ce que je voulais savoir: si vous enregistrez vos propres tailles d'image, vous pouvez modifier l'instance de votre image sélectionnée en conséquence. Vous pouvez lancer 'if elseif else' ou' switch' en utilisant '$ post-> post_type' dans votre boucle - si c'est le type A, imprimez' the_post_thumbnail ('custom-type-A') ', s'il s'agit d'un type de publication B, imprimez 'the_post_thumbnail ('custom-type-B')'. C'est mieux? – Gavin

9

Pour répondre à votre question, actuellement (version 3.4.1), il est impossible. Et la raison est simple: si vous téléchargez un fichier dans votre médiathèque, votre image n'est liée à aucun message ni même à un post_type, donc WordPress ne peut pas savoir que ce fichier doit être redimensionné dans un format différent. Réaliser votre souhait (comme il est l'un des miens aussi) signifie que l'image doit être créée, si une image est ajoutée à un poste avec un type de poste personnalisé. Donc jusqu'à ce que cela puisse être réalisé (je ne pense pas que cela arrivera dans le temps), vous devez définir votre taille d'image personnalisée globalement en désavantageant, chaque fichier que vous téléchargez sera stocké plusieurs fois (un par appel add_image_size()), même si vous n'utiliserez qu'une seule image dans votre modèle.

+0

Merci, c'est la bonne réponse. –

+0

Même si je suis d'accord avec la réponse de Gavin au sujet de la commutation de la vignette de publication en fonction du type de publication comme solution de contournement, je suis d'accord que c'est la bonne réponse. Comme le dit RRikesh, l'image n'est pas liée à un article au moment où il est téléchargé dans la galerie multimédia, et toutes les vignettes sont générées. Même si nous pouvons utiliser plusieurs tailles de vignettes d'image, puis passer en fonction du type de publication, cela n'empêchera pas l'enregistrement du fichier pour chaque taille d'image définie globalement. Pour les grands sites Web, ayant plusieurs types de messages, qui peuvent facilement consommer beaucoup d'espace sur le disque insensé. – julianm

Questions connexes