web-dev-qa-db-fra.com

Définir l'image sélectionnée pour les modèles d'archive

Je souhaite définir une image sélectionnée pour les modèles d'archive de mon thème. À ma connaissance, il n’existe pas de moyen de le faire dans l’administrateur de WordPress (comme Pages et Posts).

Je pensais à l'écriture d'une fonction qui filtre les images sélectionnées actuellement téléchargées et fait correspondre le modèle au nom de fichier. Peut-être un peu complexe.

Je sais aussi qu'il existe des options de thème. Mais cela semble beaucoup à gérer.

Comment recommanderiez-vous cette opération qui facilite l'administration de l'image en vedette (Thème -> En-tête) et facilite la maintenance ...

6
Jason McCreary

Il y a beaucoup d'archives dans WordPress. Archives de balises, archives de dates, archives de catégories, archives de termes, archives d'auteurs. De quelles archives parlez-vous?

Vous pouvez commencer par essayer le plugin Taxonomy Images http://wordpress.org/extend/plugins/taxonomy-images/

1
henrywright

C'est vieux, mais c'est la première recherche qui apparaît sur Google sous ce sujet.

La façon dont j'ai trouvé ceci était de créer une nouvelle page. Ne lui donnez pas le même nom que votre page d'archive (Wordpress n'aime pas les pages portant le même nom que votre page d'archive, cela pose problème), vous pouvez l'appeler autrement. Définissez l'image sélectionnée, puis appelez-la sur votre modèle d'archive à l'aide du code suivant:

$post_id = 8; 
$queried_post = get_post($post_id);
$src = wp_get_attachment_image_src(get_post_thumbnail_id($queried_post->ID), '') ;
$thumb_id = get_post_thumbnail_id($post_id);
?>
<img src="<?php echo $src[0]; ?>" class="img-responsive" />

Pour le décomposer:

$post_id = 8;

est le numéro d'identification de votre nouvelle page.

$src = wp_get_attachment_image_src(get_post_thumbnail_id($queried_post->ID), '') ; 

trouve l'image sélectionnée attachée à cette page

<img src="<?php echo $src[0]; ?>" class="img-responsive" /> 

écho l'image sélectionnée de votre nouvelle page.

0
MrFox

Je pense que vous devriez aller avec la méthode manuelle, quelque chose comme ceci:

1) saisissez chaque page "EDITER" de la fiche de soins, et dans la description, placez-la comme ceci:

[image url="https://upload.wikimedia.org/wikipedia/commons/0/0c/Bunker_in_Albanian_Alps.jpg"]

2) obtenir une image pour la catégorie:

if (is_archive())   {
    if (!empty($GLOBALS['wp_query']->queried_object->description) )  { 
        $cat_description =$GLOBALS['wp_query']->queried_object->description); 
            //p.s. from other pages, you can get category description by:  get_term('1533' , 'category')->description;  
        preg_match('/url\=\"(.*?)\"/si', $cat_description, $new);
        if(!empty($new[1])) {
            $found_image= $new[1];
        }
    }
}

maintenant, vous pouvez utiliser cette image n'importe où, dans head ou dans la page ...

0
T.Todua

vous pouvez le faire via css en définissant une région d'image d'en-tête dans votre archive.php et en définissant une image d'arrière-plan dans votre style.css

ou vous pouvez utiliser les en-têtes dynamiques du plugin http://wordpress.org/extend/plugins/dynamic-headers/ (fonctionne très bien même s'il n'a pas été mis à jour depuis 2010)

0
mirage

J'arrive assez tard, mais je crois que ce plugin répond à la question initiale: http://wordpress.org/plugins/categories-images/

Il permet à un administrateur de sélectionner une "image sélectionnée" pour une catégorie/un tag/une taxonomie particulière dans le panneau de modification de la taxonomie. Ensuite, il peut être utilisé dans le fichier archive.php d'un thème (par exemple) en faisant écho à z_taxonomy_image_url();.

Si vous préférez utiliser le vôtre, consultez le code de ce plugin pour obtenir un point de départ.

0
Michelle