WordPress : Comment ajouter une nouvelle zone de widget de barre latérale au thème enfant ?

Publié par Jean-Michel le

Je souhaite créer une nouvelle zone de widget de barre latérale dans l’en-tête de mon thème enfant. Quelle serait la meilleure façon de faire cela?

Voici le code de l’une des barres latérales du thème parent :

<?php
add_action( 'widgets_init', 'ci_widgets_init' );
if ( ! function_exists( 'ci_widgets_init' ) ) :
    function ci_widgets_init() {
        register_sidebar( array(
            'name'          => __( 'Blog Sidebar', 'ci_theme'),
            'id'            => 'blog-sidebar',
            'description'   => __( 'The list of widgets assigned here will appear in your blog posts.', 'ci_theme'),
            'before_widget' => '<aside id="%1$s" class="widget %2$s group">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget-title"><span>',
            'after_title'   => '</span></h3>',
        ) );
    }

Puis-je simplement changer le name, idet description, et le mettre dans le functions.phpfichier de mon thème enfant ?

Lire également:  Wordpress : Validation sécurisée de wp_editor dans les options de thème

Solution n°1 trouvée

La réponse courte est oui, ajouter le widget directement dans le fichier functions.php du thème enfant est parfaitement acceptable.

Certains thèmes parents fournissent des recommandations sur la meilleure façon d’ajouter de nouvelles fonctionnalités dans les thèmes enfants (assistants, classes, modèles de conception spécifiques, etc.), de sorte que l’approche idéale peut varier d’un thème à l’autre.

Lire également:  comment supprimer la navigation de catégorie de l'en-tête Bueno (Wordpress Theme)

Je suis heureux d’élaborer si vous pouvez fournir des informations supplémentaires sur votre configuration.

Solution n°2 trouvée

Eh bien, c’est ce qui a fonctionné pour moi. Dans mon functions.phpfichier j’ai mis le code suivant :

function header_widgets_init() {

register_sidebar( array(

    'name' => 'Header Sidebar',

    'id' => 'header_sidebar',

    'before_widget' => '<aside class="widget %2$s">',

    'after_widget' => '</aside>',

    'before_title' => '<h2 class="widget-title">',

    'after_title' => '</h2>',

) );

}

add_action( 'widgets_init', 'header_widgets_init' );

…et dans mon header.phpfichier j’ai utilisé :

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('header_sidebar') ) : endif; ?>
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *