Wordpress。在wp_导航_菜单中手动添加菜单项

Wordpress。在wp_导航_菜单中手动添加菜单项,wordpress,menu,Wordpress,Menu,在我的主题中有一个导航菜单功能 function ct_nav() { <nav> <?php wp_nav_menu( array( 'container_id' => 'nav', 'theme_location' => 'primary') ); ?> </nav> } 功能ct_nav(){ } 如何手动添加更多项目?仅使用此功能。仅用于有人需要此功能的情况: 可以通过应用过滤器手动添加菜单项: wp\u导航菜单项-

在我的主题中有一个导航菜单功能

function ct_nav() {
  <nav>
     <?php wp_nav_menu( array( 'container_id' => 'nav', 'theme_location' => 'primary') ); ?>
  </nav>
}
功能ct_nav(){
}

如何手动添加更多项目?仅使用此功能。

仅用于有人需要此功能的情况:

可以通过应用过滤器手动添加菜单项:

  • wp\u导航菜单项
    -适用于所有菜单
  • wp_nav_menu{$menu->slug}\u项
    -用于带有特定slug的菜单

另外,通过更改
项目包装
,例如,删除
并将其明确添加到主题中-这样您就可以添加自己的项目。

以下是更改项目包装的示例

wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s" class="%2$s"><li><a href="http://www.google.com">go to google</a></li>%3$s</ul>' ) );
wp\u导航菜单(数组('items\u wrap'=>”
  • %3$s
);
只需使用默认值并添加href。

函数add\u last\u nav\u item($items){
function add_last_nav_item($items) {
  return $items .= '<li><a href="#myModal" role="button" data-toggle="modal">Contact</a></li>';
}
add_filter('wp_nav_menu_items','add_last_nav_item');
返回$items.='
  • '; } 添加过滤器(“工作包导航菜单项”、“添加最后导航项”);
    以上所有答案都不适合我。这是我使用的jquery类型的变通方法。我需要在菜单的末尾添加一个图像

    按照常规使用wp_nav_menu(),确保在menu_class中指定一个类,或者您可以指定一个ID

    $items = array(
        'theme_location'  => 'header-menu',
        'menu'            => '',
        'container'       => 'div',
        'container_class' => 'menu-{menu slug}-container',
        'container_id'    => '',
        'menu_class'      => 'menuContainer', /* important, since we're targetting it with jquery*/
        'menu_id'         => '',
        'echo'            => true,
        'fallback_cb'     => 'wp_page_menu',
        'before'          => '',
        'after'           => '',
        'link_before'     => '',
        'link_after'      => '',
        'depth'           => 0,
        'walker'          => ''
    );
    wp_nav_menu($items);
    
    $( document ).ready(function() {
                $(".menuContainer ul").append("<li><img src='<?php echo  get_template_directory_uri(); ?>/img/menuImage.png'></li>");
            });
    
    $items=数组(
    “主题位置”=>“标题菜单”,
    '菜单'=>'',
    “容器”=>“div”,
    'container_class'=>'menu-{menu slug}-container',
    “容器id=>”,
    'menu_class'=>'menuContainer',/*很重要,因为我们使用jquery将其作为目标*/
    '菜单id'=>'',
    “echo”=>正确,
    “回退\u cb'=>“wp\u页面\u菜单”,
    '在'=>''之前,
    '在'=>''之后,
    '链接在'=>''之前,
    '链接在'=>''之后,
    “深度”=>0,
    “沃克”=>“
    );
    wp_导航_菜单(项目);
    $(文档).ready(函数(){
    $(“.menuContainer ul”)。追加(
  • /img/menuImage.png'>
  • ”; });
  • 为什么不在函数调用后自己添加标记?是的,我不明白你的意思,你可以在上面的标记中手动添加项目?您想添加什么?这要求已将菜单分配给菜单位置。是否有一种方法可以在不指定菜单的情况下执行此操作(在外观>菜单中)。这将有助于多站点工作,我正在做。哇,这是一个肮脏的黑客。工作,虽然@Edward很遗憾,这不是一个黑客,也不是说Erraoudy soultion,它提供了一个模板-没有什么黑客,WP只是选择了一个非常非常不幸的方式来做这件事-这部分和整个nav-menu.php是一个非常“遗留”的WP代码…有人能帮我如何在手机菜单上显示相同的内容吗?提前谢谢你好,你能解释一下你想在手机上显示什么吗?@PreethamHegde一般来说,如果你想在wordpress中在手机上显示一些东西,你可以使用:@SaidErraoudy在你的例子中,我们如何通过标题来定位特定的项目?而不是整个html行?我想在你的函数中设置一个条件。