在ZURB基金会标题中显示WordPress主菜单

在ZURB基金会标题中显示WordPress主菜单,wordpress,menu,zurb-foundation,Wordpress,Menu,Zurb Foundation,我正在创建一个基于Zurb的基础的主题。 我几乎已经把所有的东西都设置好了,准备开始使用CSS,但是我在如何让“主菜单”显示在顶部栏上时遇到了问题。 对于突出显示的链接(可能与我们联系或类似链接),我想保留“左导航按钮”,但我想替换WordPress主菜单ul class=“right”中的当前内容。 以下是我在当前标题id=“masthead” 您需要使用wp\u导航菜单() 您还需要使用walker来定制wp\u nav\u menu()的输出,以匹配基金

我正在创建一个基于Zurb的基础的主题。 我几乎已经把所有的东西都设置好了,准备开始使用CSS,但是我在如何让“主菜单”显示在顶部栏上时遇到了问题。 对于突出显示的链接(可能与我们联系或类似链接),我想保留“左导航按钮”,但我想替换WordPress主菜单ul class=“right”中的当前内容。 以下是我在当前标题id=“masthead”



您需要使用
wp\u导航菜单()

您还需要使用walker来定制
wp\u nav\u menu()
的输出,以匹配基金会顶栏的输出

您可以将其添加到funtions.php中

class guts_top_bar_walker extends Walker_Nav_Menu {

    function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {

        $element->has_children = !empty($children_elements[$element->ID]);
        $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : '';
        $element->classes[] = ( $element->has_children ) ? 'has-dropdown' : '';

        parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
    }
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {

        $item_html = '';

        parent::start_el( $item_html, $item, $depth, $args, $id );

        $output .= ($depth == 0) ? '<li class="divider"></li>' : '';

        $classes = empty($item->classes) ? array() : (array) $item->classes;

        if ( in_array( 'section', $classes ) ) {
            $output .= '<li class="divider"></li>';
            $item_html = preg_replace('/<a[^>]*>(.*)<\/a>/iU', '<label>$1</label>', $item_html);
        }

        $output .= $item_html;
    }

    function start_lvl( &$output, $depth = 0, $args = array() ) {
        $output .= "\n<ul class=\"sub-menu dropdown\">\n";
    }

}
即使您希望突出显示的链接保留在左侧部分,我建议您设置另一个菜单,以便您可以直接通过wordpress dash进行将来的更改,而不需要编辑主题

您可以在functions.php中注册如下新菜单区域:

register_nav_menu( 'primary-left', __( 'Left Navigation Menu', 'guts' ) );
更多信息请点击此处:

<section class="top-bar-section">
  <?php wp_nav_menu(array('container' => false, 'menu_class' => 'left', 'theme_location' => 'primary-left', 'fallback_cb' => false, 'walker' => new guts_top_bar_walker() )); ?>

  <?php wp_nav_menu(array('container' => false, 'menu_class' => 'right', 'theme_location' => 'primary', 'walker' => new guts_top_bar_walker() )); ?>
</section>
register_nav_menu( 'primary-left', __( 'Left Navigation Menu', 'guts' ) );