添加自定义菜单项WordPress的菜单(Adding custom menu item to Wo

2019-08-02 07:07发布

我有了我通过标准增加了一些菜单项(拖放)的WordPress管理菜单功能WordPress的菜单。 最近我有另一个项目添加到生成一个动态的HREF链接菜单。 我实现了用我的functions.php文件下面的代码:

// dynmacially加我的个人资料菜单项成员菜单(生成用户名基于当前用户登录)

的add_filter( 'wp_nav_menu_items', 'add_profilelink_in_menu',10,2);

功能add_profilelink_in_menu($项目的$ args){

 if( $args->theme_location == 'secondary') { global $current_user; //converts user id to username $user_info = get_userdata($current_user->ID); $items .='<li id="menu-item-2091" class="menu-item menu-item-2091"> <a href="https://www.mysite.com/members/' . $user_info->user_login .'">Profile</a> </li>'; } return $items; 

}

我的问题是,这个菜单项添加到菜单的末尾和定期的WordPress菜单类,如目前的菜单项“没有得到应用到这个项目。 有我来控制,其中该菜单项添加到的位置的方式(例如:前两项之后添加此项)

我怎样才能得到WordPress的对待这个动态生成的菜单项作为一个经常性的菜单项,并将它添加所有它添加其他菜单项(通过WordPress的菜单功能创建)的类?

谢谢你的帮助。

Answer 1:

下面是您可以使用基础jquery的逻辑

  //suppose your menu is this
  <ul id="secondary_nav">
    <li id="li_unique_id_1"><a href="">menu 1</a></li>
    <li id="li_unique_id_2"><a href="">menu 2</a></li>
    <li id="li_unique_id_4"><a href="">menu 4</a></li>
</ul>

 //the jquery workaround
 //place this in your footer
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
<script type='text/javascript'>
$(function(){
    <?php
     global $current_user;            
     //converts user id to username           
     $user_info = get_userdata($current_user->ID);
    ?>
    $("<li id='menu-item-2091' class='menu-item menu-item-209'><a href='https://www.mysite.com/members/<?php echo $user_info->user_login; ?>'>Profile</a></li>").insertAfter("#secondary_nav #li_unique_id_2");     
});   
</script>

您还可以使用的insertBefore函数



Answer 2:

你检查在这个主题 - >菜单WordPress的菜单选项? 您可以轻松地添加菜单从那里你也可以设置从there.Hope自定义菜单它会帮助你。



文章来源: Adding custom menu item to WordPress menu
标签: php wordpress