0

我刚刚开始并且对 PHP 的了解有限,但我正在努力尽可能快地学习。我正在使用 Genesis 框架并为某人设计一个网站。我使用 remove_action 和 add_action 将导航移至页面顶部。所以现在 genesis_do_nav 加载到 genesis_header 钩子上。但我想让我的徽标与顶部的导航栏内嵌并居中。我应该将该元素添加到 genesis_do_nav 中吗?我该怎么做呢?我在 menu.php 中找到了该函数,因此在将其移至子主题中的新命名函数之前,我开始对其进行修改,但是无论我对代码做什么,它似乎都只是在导航之前或之后添加它并显示为一个块元素,如果我可以将它放在与主菜单 li 相同的 div 中,我会更喜欢。就像我说的,我对 PHP 的了解是有限的。

add_action( 'genesis_after_header', 'genesis_do_nav' );

function genesis_do_nav() {

//* Do nothing if menu not supported
if ( ! genesis_nav_menu_supported( 'primary' ) )
    return;

//* If menu is assigned to theme location, output
if ( has_nav_menu( 'primary' ) ) {

    $class = 'menu genesis-nav-menu menu-primary';
    if ( genesis_superfish_enabled() )
        $class .= ' js-superfish';

    $args = array(
        'theme_location' => 'primary',
        'container'      => '',
        'menu_class'     => $class,
        'echo'           => 0,
    );

    $nav = wp_nav_menu( $args );

    //* Do nothing if there is nothing to show
    if ( ! $nav )
        return;

    $nav_markup_open = genesis_markup( array(
        'html5'   => '<nav %s>',
        'xhtml'   => '<div id="nav">',
        'context' => 'nav-primary',
        'echo'    => false,
    ) );
    $nav_markup_open .= genesis_structural_wrap( 'menu-primary', 'open', 0 );
    $nav_markup_close  = genesis_structural_wrap( 'menu-primary', 'close', 0 );
    $nav_markup_close .= genesis_html5() ? '</nav>' : '</div>' ;
    $nav_output = $nav_markup_open . $nav . $nav_markup_close;
    echo apply_filters( 'genesis_do_nav', $nav_output, $nav, $args);
   }
}

我希望它最终与主菜单 LI 内联

        echo apply_filters( 'genesis_do_nav', $nav_output, $nav, $args, HTML ELEMENTS HERE?);
4

0 回答 0