2015-09-09 1 views
2

J'essaie de faire une fonction d'en-tête personnalisé dans un thème enfant Genesis qui comprend le titre du site, la description, nav, et un div supplémentaire. La navigation ne se présente pas avec ce code:Genèse: Ajouter nav dans la fonction d'en-tête personnalisé

remove_action('genesis_after_header', 'genesis_do_nav'); 
remove_action('genesis_header', 'genesis_do_header'); 
add_action('genesis_header', 'genesis_do_new_header'); 
function genesis_do_new_header() { 
    echo '<div id="title-area">'; 
    do_action('genesis_site_title'); 
    do_action('genesis_site_description'); 
    echo '</div>'; 
    do_action('genesis_do_nav'); 
    echo '<div id="additional"></div>'; 
} 

Je puis essayé d'ajouter

add_action('genesis_header', 'genesis_do_nav'); 

après avoir enlevé la after_header action do_nav avec une variété de priorités différentes, mais n'a pas pu le faire pour aller entre la description du site et la div #additional. Pensées?

Répondre

1

Pour contourner ce problème, je me suis séparé les fonctions d'en-tête personnalisé et supprimé/ajouté le nav entre eux:

remove_action('genesis_header', 'genesis_do_header'); 
add_action('genesis_header', 'genesis_do_new_header_1', 5); 
function genesis_do_new_header_1() { 
    echo '<div id="title-area">'; 
    do_action('genesis_site_title'); 
    do_action('genesis_site_description'); 
    echo '</div>'; 
} 
remove_action('genesis_after_header', 'genesis_do_nav'); 
add_action('genesis_header', 'genesis_do_nav', 6); 
add_action('genesis_header', 'genesis_do_new_header_2', 7); 
function genesis_do_new_header_2() { 
    echo '<div id="additional"></div>'; 
} 

Cela fonctionne très bien pour maintenant-- mais s'il y a une solution plus propre sur il y aurait soyez heureux de l'entendre!