WordPress : Comment ajouter une nouvelle zone de widget de barre latérale au thème enfant ?
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
, id
et description
, et le mettre dans le functions.php
fichier de mon thème enfant ?
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.
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.php
fichier 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.php
fichier j’ai utilisé :
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('header_sidebar') ) : endif; ?>
0 commentaire