WordPress : Comment remplacer une barre latérale enregistrée dans un thème parent lors de l’utilisation d’un thème enfant ?
J’utilise actuellement un thème enfant et son thème parent a déjà enregistré des barres latérales.
Mon. le problème est que je veux changer la barre latérale dynamique du thème parent
De:
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '<div class="span3">',
'after_widget' => '</div>',
'before_title' => '<h6 style="text-transform: uppercase !important; font-weight:600; !important">',
'after_title' => '</h6><hr>',
));
À:
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '<div class="span3">',
'after_widget' => '</div>',
'before_title' => '<h6 class="footer-widget-item">',
'after_title' => '</h6><hr>',
));
Maintenant, comment suis-je censé faire ça ? J’ai trouvé ce crochet appelé after_setup_theme d’ici mais je suis un peu confus sur la façon de le faire. Dois-je désenregistrer la barre latérale puis l’enregistrer à nouveau ?
METTRE À JOUR:
Voici ma tentative mais cela n’a pas fonctionné:
add_action( 'after_setup_theme', 'parent_override' );
function parent_override() {
unregister_sidebar('Footer');
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '<div class="span3">',
'after_widget' => '</div>',
'before_title' => '<h6 class="footer-widgets-item">',
'after_title' => '</h6><hr>',
));
}
Solution n°1 trouvée
add_action( 'widgets_init', 'parent_override',11 );
function parent_override() {
unregister_sidebar('sidebar-4');
/** I have looked for the ID of the sidebar by looking at
* the source code in the admin.. and saw the widget's id="sidebar-4"
*/
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '<div class="span3">',
'after_widget' => '</div>',
'before_title' => '<h6 class="footer-widgets-item">',
'after_title' => '</h6><hr>',
));
}
Solution n°2 trouvée
Voici ce qui a fonctionné :
add_action( 'after_setup_theme', 'parent_override' );
function parent_override() {
unregister_sidebar('sidebar-4');
/** I have looked for the ID of the sidebar by looking at
* the source code in the admin.. and saw the widget's id="sidebar-4"
*/
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '<div class="span3">',
'after_widget' => '</div>',
'before_title' => '<h6 class="footer-widgets-item">',
'after_title' => '</h6><hr>',
));
}
Il semble que l’identifiant ne soit pas un slug du nom, et si vous n’avez pas spécifié d’identifiant lors de l’enregistrement de la barre latérale, il aura un identifiant de « sidebar-# »…
0 commentaire