Je souhaite définir une image en-tête/en-tête pour chacune des pages d'archives de ma catégorie. Comment procéderais-je sans avoir à coder en dur chaque catégorie dans le thème?
Un exemple de page est à http://keswickscouts.org/section/cubs
La forme de code header.php est
<div id="main-image">
<?php
// Check to see if the header image has been removed
$header_image = get_header_image();
if ( ! empty( $header_image ) ) :
?>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
<?php
if ( !is_404() && !is_attachment() ) { // Check if this is not 404 or attachment page
// Check if this is a post or page, if it has a post-thumbnail
if ( is_singular() && has_post_thumbnail( $post->ID ) && ( $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) && $image[1] >= HEADER_IMAGE_WIDTH ) :
echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
else : ?>
<img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt="" />
<?php endif; } // end check for featured image or standard header ?>
</a>
<?php endif; // end check for removed header image ?>
</div><!-- end #main-image -->
Ce que j'ai fait était; en utilisant le plugin Taxonomy Images pour associer une image à chaque catégorie, puis dans le header.php de mon thème, sous la ligne <a>
dans le code ci-dessus;
<?php
$image_id = apply_filters( 'taxonomy-images-queried-term-image-id', 0 );
if ( is_category() && ! empty( $image_id )):
print apply_filters( 'taxonomy-images-queried-term-image', '',
array(
'image_size' => 'header'
) );
else : ?>
Et ajoutez <?php endif; ?>
en dessous de la fin de la recherche de fin ... '
et défini la taille de l'image d'en-tête dans functions.php avec
add_image_size( 'header', 960, 260, true );