如何连接到wp_NAV_MENU的容器?

时间:2015-09-23 作者:SinisterBeard

我知道我可以通过声明自定义walker来编辑wp_nav_菜单中的项目,但我想在容器中添加一些代码,而walker无法处理这些代码。

它位于导航菜单模板中。php,所以我可以通过在第329行之后添加代码来获得所需的效果。。。

$nav_menu .= "<div class=\'topper\'>
                  <a href=\'".get_home_url()."\' class=\'intranet\'>H</a>
              </div>";
。。。但这当然会在更新后消失。我需要什么样的钩子才能达到同样的效果?

2 个回复
最合适的回答,由SO网友:SinisterBeard 整理而成

通过设置解决containerfalse 然后手动包装。

<nav class="main_navigation">
    <div class="topper">
        <a href="<?=get_home_url()?>" class="intranet">H</a>
    </div>
    <?php wp_nav_menu(array(\'container\'=>false) ?>
</nav>

SO网友:Vinicius Garcia

您还可以钩住菜单中的项目:

wp包括/导航菜单模板。php

/**
 * Filters the HTML list content for navigation menus.
 *
 * @since 3.0.0
 *
 * @see wp_nav_menu()
 *
 * @param string   $items The HTML list content for the menu items.
 * @param stdClass $args  An object containing wp_nav_menu() arguments.
 */
$items = apply_filters( \'wp_nav_menu_items\', $items, $args );
在导航开始处添加自定义项的示例:

function add_custom_item( $items, $args ) {
    $custom_item = "<a href=\'".get_home_url()."\' class=\'intranet\'>H</a>";
    return $custom_item . $items;
}
add_filter( \'wp_nav_menu_items\', \'add_custom_item\', 10, 2 );

相关推荐

将选项添加到“Menus”编辑器的“Screen Options”部分

我正在开发一个向WordPress菜单编辑器添加自定义选项的系统,我想将其与屏幕选项面板集成。在我的研究中,我找不到任何关于修改现有屏幕选项菜单的内容;这可能吗?请参见下面的屏幕截图,以更好地了解我要实现的目标。外观>菜单上的默认“屏幕选项”:外观>菜单上的目标“屏幕选项”: