web-dev-qa-db-fra.com

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.

Ma. 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 de ici mais je suis un peu confus sur la façon de le faire. Dois-je annuler l'enregistrement de la barre latérale, puis l'enregistrer à nouveau?


UPDATE:

Voici ma tentative mais ça n'a pas marché:

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>',
    )); 
}
1
reikyoushin

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 n'est pas un nom 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 - #" ...

2
reikyoushin