web-dev-qa-db-fra.com

Comment changer les dimensions de l'image d'en-tête par défaut dans le thème enfant vingt-quatre?

Je crée un thème enfant basé sur vingt-quatre ans et souhaite modifier les dimensions de l'image d'en-tête personnalisée. La page d'en-tête personnalisée indique:

Les images doivent avoir une largeur minimale de 1260 pixels. La largeur suggérée est de 1260 pixels. La hauteur suggérée est de 240 pixels.

Cela semble provenir des valeurs par défaut définies dans /inc/custom-header.php:

function twentyfourteen_custom_header_setup() {
    add_theme_support( 'custom-header', apply_filters( 'twentyfourteen_custom_header_args', array(
        'default-text-color'     => 'fff',
        'width'                  => 1260,
        'height'                 => 240,
        'flex-height'            => true,
        'wp-head-callback'       => 'twentyfourteen_header_style',
        'admin-head-callback'    => 'twentyfourteen_admin_header_style',
        'admin-preview-callback' => 'twentyfourteen_admin_header_image',
    ) ) );
}
add_action( 'after_setup_theme', 'twentyfourteen_custom_header_setup' );

Ce fichier est inclus par twentyfourteen/functions.php:

require get_template_directory() . '/inc/custom-header.php';

Comme cette ligne utilise get_template_directory() et non pas get_stylesheet_directory(), je ne peux pas la remplacer par ma propre version de custom-header.php.

Existe-t-il un moyen de modifier les dimensions demandées dans le thème de mon enfant?

2
Alex Angas

Il s'agit d'un filtre pour la fonction d'en-tête personnalisée dans le thème vingt-quatorze. Vous pouvez l'utiliser pour ajouter vos nouvelles tailles. Voici ce que j'utilise pour changer la taille par défaut.

function wpse_custom_header_setup() {
    add_theme_support( 'custom-header', apply_filters( 'wpse_header_args', array(
        'width'                  => 1460,
        'height'                 => 220,
    ) ) );
}
add_action( 'after_setup_theme', 'wpse_custom_header_setup' );

MODIFIER

Définissez également la largeur maximale de l'en-tête de site trouvée aux lignes 847 à 853 en conséquence.

.site-header {
    max-width: 1460px;
}
1
Pieter Goosen

Vous pouvez simplement ajouter ce code à votre fichier de fonctions de thèmes enfants et modifier les valeurs de largeur et de hauteur.

En fonction de votre thème, vous devrez peut-être également modifier les valeurs de votre feuille de style pour différents éléments d'en-tête. Toutefois, selon mes tests, cela n'est pas nécessaire si vous utilisez un thème enfant Twenty Fourteen.

add_theme_support( 'custom-header', array(
'header_image'    => '',
'header-selector' => '.site-title a',
'header-text'     => false,
'height'          => 90,
'width'           => 300,
) );

La méthode ci-dessus affecte UNIQUEMENT la fonction d'en-tête personnalisé sous Apparence> En-tête lorsque vous ajoutez votre image à l'aide de cette fonction qui vous oblige à rogner à ces dimensions exactes et ne modifie pas la taille d'une image d'en-tête existante déjà ajoutée à l'aide d'une méthode . Pour ce faire, vous devrez modifier le code CSS qui affecte votre image # site-header.

Vous pouvez également utiliser le filtre theme_mod_header_image

Remarque: La classe de sélecteur d'en-tête varie selon les thèmes.

2
Brad Dalton