2

我正在尝试在 Genesis 子主题中创建一个自定义标题功能,其中包括网站标题、描述、导航和一个额外的 div。导航不显示此代码:

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>';
}

然后我尝试添加

add_action( 'genesis_header', 'genesis_do_nav' );

在删除了具有各种不同优先级的 after_header do_nav 操作后,但无法将其置于站点描述和#additional div之间。想法?

4

1 回答 1

1

作为一种解决方法,我分离了自定义标头函数并在它们之间删除/添加了导航:

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>';
}

这目前工作得很好——但如果有更清洁的解决方案,我会很高兴听到它!

于 2015-09-09T08:03:31.963 回答