我刚刚开始并且对 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?);