web-dev-qa-db-fra.com

Annulation de l'enregistrement d'une barre latérale dans le thème Enfant

Je travaille avec un cadre de thème réactif très pratique (Reverie) et je développe mon propre thème de la bonne manière en utilisant un thème pour enfants. Le thème Parent appelle une barre latérale appelée avec l'ID 'Pied de page' et lui applique certains styles de base. Je veux ajuster cela dans mon thème enfant, donc je cherchais peut-être à le filtrer, mais au final, j'ai décidé qu'il serait probablement plus facile de désinscrire la barre latérale et d'en réenregistrer une nouvelle avec les classes appropriées dans les fonctions de childtheme.php .

Voici le code du thème parent qui déclare la barre latérale

$sidebars = array('Footer');
foreach ($sidebars as $sidebar) {
    register_sidebar(array('name'=> $sidebar,
        'id' => 'Footer',
        'before_widget' => '<div class="large-3 columns"><article id="%1$s"    class="panel widget %2$s">',
        'after_widget' => '</article></div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>'
    ));
}

Cependant, je ne suis pas en mesure de désinscrire la barre latérale. Je l'ai essayé, avec le code ci-dessous, mais sans aucune chance.

// Unregisters Reverie footer sidebar
 function remove_footer(){
    unregister_sidebar( 'Footer' );
}
add_action ('widgets_init, remove_footer', 11);

// Registers new footer array with proper classes

$sidebars = array('Childfeet');
foreach ($sidebars as $sidebar) {
    register_sidebar(array('name'=> $sidebar,
        'id' => 'Childfeet',
        'before_widget' => '<div class="small-12 medium-6 large-3 columns"><article id="%1$s" class="panel widget %2$s">',
        'after_widget' => '</article></div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>'
    ));
}

Ma nouvelle barre latérale avec les classes appropriées est bien sûr créée, mais il semble que mon remove_footer () ne fasse pas son travail. Des idées?

J'ai vérifié tous les autres messages "désinscription de la barre latérale" dans les forums, mais ils contiennent tous des erreurs dans des fonctions que je ne vois pas dans mon code.

Merci beaucoup pour votre temps!

2
Andrew-ThinkUp

Merci pour votre aide les gars! La fonction after_setup_theme () était nouvelle pour moi et sera probablement très utile pour la suite. Malheureusement, mon erreur était quelque chose de plus simple. Quand j'ai appelé la fonction unregister_sidebar ..

add_action ('widgets_init, remove_footer', 11);

Il me manquait les citations appropriées autour de chaque fonction. Il devrait lire.

add_action ('widgets_init', 'remove_footer', 11); 

Il supprime la barre latérale Pied de page comme prévu. :-(

Merci de m'aider à le retrouver!

0
Andrew-ThinkUp

Il devrait être possible d'utiliser le hook after_setup_theme pour annuler l'enregistrement de la barre latérale que vous ne voulez pas comme ceci:

function go_away_extra_sidebar(){
    unregister_sidebar( 'Footer' );
}

add_action( 'after_setup_theme', 'go_away_extra_sidebar' );

Codage heureux,

Kuchenundkakao

1
kuchenundkakao