Puis-je définir une image sélectionnée par défaut pour une catégorie?


10

Je mets en place un site avec un thème qui tire parti de la fonctionnalité "image vedette" de WordPress. Étant donné que mes utilisateurs finaux ne sont pas les plus avertis en matière de technologie au monde, j'aimerais configurer les choses afin que les catégories aient une "image sélectionnée" par défaut affectée à la publication. Dans le cas où plusieurs catégories seraient affectées à un poste, il suffirait alors de prendre la première.

Existe-t-il un plugin existant ou un moyen de coder cela?



2 ans plus tard, il existe un plugin WordPress qui fait cela. Commander "Images en vedette pour les catégories" wordpress.org/plugins/featured-images-for-categories

Utilisez ce plugin: wordpress.org/extend/plugins/categories-images Cela fonctionne pour les catégories et toute taxonomie personnalisée aussi, vous pouvez trouver plus sur le plugin, comment l'utiliser et beaucoup d'exemples dans les documentations
Muhammad

Réponses:


13

Dans votre modèle, où l'image sélectionnée est affichée: <?php the_post_thumbnail( 'thumbnail' ); ?>vous pouvez la conditionner à la définition de l'image sélectionnée, puis la définir par défaut comme vous le souhaitez si elle n'est pas définie.

Une façon de le faire est de mettre toutes les images par défaut dans un répertoire et de les nommer pour les catégories, par exemple. news.jpg et reviews.jpg puis au lieu d'utiliser <?php the_post_thumbnail( 'thumbnail' ); ?>pour afficher votre Image vedette, vous utiliseriez ceci:

<?php 
   if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) { 
      the_post_thumbnail('thumbnail');
   } else { ?>
      <img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" /> <?php }
   endif;
} ?>

Donc, dans cet exemple ci-dessus, si le message est dans la catégorie des actualités et que votre auteur n'a pas défini l'image sélectionnée, il sera par défaut l'image stockée dans http://www.yoursite/whatever/directory/news.jpg.


C'est aussi ainsi que je le fais. +1
epaps

que s'est-il passé si un article appartient à quelques catégories?
Eray

Bonne question. get_the_category()ne renverra qu'une seule catégorie et j'oublie comment il décide quelle catégorie utiliser.
mat

1
get_the category () obtient toutes les catégories sous forme de tableau, mais vous avez besoin d'un petit tour. studiograsshopper.ch/code-snippets/…
Eray

2
<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>

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

<?php else :?>

<img src="<?php bloginfo('template_directory'); ?>/your image directory name in theme folder/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" /> 

<?php endif;?>

2

J'ai rencontré quelques problèmes avec les noms de catégorie ayant des espaces j'ai un peu modifié le code ci-dessus pour l'adapter à mes besoins

<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>

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

<?php else :?>

<img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_ID; ?>.jpg" /> 

<?php endif;?>

changer simplement

echo $category[0]->cat_name;

à

echo $category[0]->cat_ID;

ce qui rendra votre image 16.jpg ou 3.jpg ce qui correspond à votre numéro de catégorie.


Je pense que beaucoup de gens préfèrent utiliser l'ID de chat car c'est plus sûr et vous permet de changer l'étiquette de catégorie ou le slug.
Damien

2

Une façon plus propre de faire ce qui précède;)

if ( ( function_exists( 'has_post_thumbnail' ) ) && ( has_post_thumbnail() ) ) : 
    the_post_thumbnail( 'thumbnail' );
else :
    ?><img src="whatever/directory/<?php 
        $category = get_the_category(); echo $category[0]->cat_name; 
        ?>.jpg" /><?php
endif;

1

J'ai utilisé avec succès des images de taxonomie par Michael Fields - il ajoute des fonctions de gestion à la page d'édition de catégorie / taxonomie, de sorte que les images présentées fonctionnent pour les taxonomies tout comme pour les publications / pages. A toutes les fonctions dont vous avez besoin pour votre thème.

instantané de l'écran d'administration de la taxonomie personnalisée

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.