Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

User:Pierre.dgham/fr:Custom Headers

L'en-tête personnalisée est une fonctionnalité introduite dans la version 2.1. Une en-tête personnalisée est une image choisie comme représentative du blog dans l'onglet Thème > En-tête.

Activer la fonctionnalité

Depuis la version 3.4, les thèmes doivent utiliser add_theme_support() dans le fichier functions.php pour supporter les en-têtes personnalisées, comme ci-dessous :

add_theme_support( 'custom-header' );

Vous pouvez également ajouter des paramètres par défaut en utilisant :

$defaults = array(
	'default-image'          => '',
	'random-default'         => false,
	'width'                  => 0,
	'height'                 => 0,
	'flex-height'            => false,
	'flex-width'             => false,
	'default-text-color'     => '',
	'header-text'            => true,
	'uploads'                => true,
	'wp-head-callback'       => '',
	'admin-head-callback'    => '',
	'admin-preview-callback' => '',
);
add_theme_support( 'custom-header', $defaults );

Exemple

Définir une image d'en-tête personnalisée

Définir une image d'en-tête par défaut de 980px de largeur et 60px de hauteur :

$args = array(
	'width'         => 980,
	'height'        => 60,
	'default-image' => get_template_directory_uri() . '/images/header.jpg',
);
add_theme_support( 'custom-header', $args );

Ajouter d'autres images d'en-têtes

Définir une image d'en-tête par défaut et autoriser l'administrateur du site à en ajouter d'autres :

$args = array(
	'width'         => 980,
	'height'        => 60,
	'default-image' => get_template_directory_uri() . '/images/header.jpg',
	'uploads'       => true,
);
add_theme_support( 'custom-header', $args );

Utiliser des en-têtes de taille flexible

Autoriser des en-têtes de taille flexible :

$args = array(
	'flex-width'    => true,
	'width'         => 980,
	'flex-height'    => true,
	'height'        => 200,
	'default-image' => get_template_directory_uri() . '/images/header.jpg',
);
add_theme_support( 'custom-header', $args );

et modifiez votre fichier header.php :

<img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt="" />

Compatibilité avec les anciennes versions

Pour activer la compatibilité avec les anciennes versions de WordPress, utilisez le code suivant :

global $wp_version;
if ( version_compare( $wp_version, '3.4', '>=' ) ) :
	add_theme_support( 'custom-header' );
else :
	add_custom_image_header( $wp_head_callback, $admin_head_callback );
endif;

Ressources

Voir aussi

Theme Support: add_theme_support(), remove_theme_support(), current_theme_supports()
Theme Features: sidebar, menus, post-formats, title-tag, custom-background, custom-header, custom-logo, post-thumbnails, automatic-feed-links, html5, editor-style, content_width