当前位置: 首页 > 知识库问答 >
问题:

向WordPress菜单添加自定义菜单项

燕正卿
2023-03-14

我有一个WordPress菜单,其中有一些菜单项是我通过标准(拖放)WordPress管理菜单功能添加的。最近,我不得不在菜单中添加另一项,以生成动态href链接。我在函数中使用以下html" target="_blank">代码实现了这一点。php文件:

//将“我的个人资料”菜单项动态添加到“成员”菜单(根据当前登录的用户生成用户名)

add_filter(wp_nav_menu_items、add_profilelink_in_menu、10、2);

函数在菜单中添加配置文件链接($items,$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菜单类(如“current menu item”)不会应用于此项。我是否有办法控制此菜单项的添加位置(例如:在前两项之后添加此项?)

我怎样才能让WordPress把这个动态生成的菜单项作为常规菜单项,并让它添加所有它添加其他菜单项的类(通过WordPress菜单功能创建)?

感谢任何帮助。

共有2个答案

闻人英韶
2023-03-14

您是否在主题中选中Wordpress菜单选项-

邬博涉
2023-03-14

下面是使用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函数

 类似资料:
  • 我已经搜索了又搜索,除了我称之为“hack方法”的方法之外,找不到其他方法将自定义分类添加到自定义管理菜单中。 然后我注册我的帖子类型并确保它们使用 这可以工作,自定义帖子类型显示在我的自定义菜单中。 但是自定义分类法不接受同一属性的字符串,只接受true或false。 因此,要添加它,您必须创建一个子菜单页 这是一种“黑客”方式。 还有别的办法吗?如果不修改WordPress核心,我可以覆盖re

  • 我正在创建一个wordpress模板,目前我正在制作菜单,我已经制作了以下内容: http://jsfidle.net/skunheal/umkyr/ 有两个小问题,我不知道如何解决。Wordpress为当前活动的菜单项提供class.current_page_item。我该怎么做呢? 我想的是: 普通菜单项: 活动菜单项: 但似乎不起作用。有人知道为什么吗? 谢谢你,梅里恩

  • 1. 小程序更多菜单功能说明 为了支持 App 内的不同业务需求、支持不同类型的分享,当前 SDK 支持配置更多菜单,按类型可分为 onMiniProgram 和 common 类型(均在管理后台配置) common: 该类型无需小程序添加额外处理 onMiniProgram: 该类型菜单在点击时,会向小程序获取数据用以提供给 App 的业务处理 如果菜单的按钮类型是 onMiniProgram

  • 自定义菜单是指为单个应用设置自定义菜单功能,所以在使用时请注意调用正确的应用实例。 $config = [ 'corp_id' => 'xxxxxxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxx', // 应用的 secret //... ]; $app = Factory::work($config); 创建菜单 $menus = [

  • 我正在使用WordPress中的内置导航菜单创建自己的超级菜单。为标准菜单项和具有超大菜单的菜单项显示不同的代码非常有用。但是我希望能够引用活动菜单项,并将类活动添加到该列表项中。 我只是不确定,下面的代码,我需要把什么放在哪里? [已编辑] 我知道这一行之后需要添加一些内容 引用当前页面的内容 如何引用当前页面? 或者我如何将标准WordPress类添加到所有菜单项中,然后我可以在CSS文件中引

  • 我正在尝试为我的netbeans平台项目(我正在启动)的一个模块创建一个模拟菜单。 我想在“文件”中创建一个新条目“new”,该条目将包含“new Project”和“new Module”。 在重要文件中- 然后我添加了两个空文件,“New Project”和“New Module”,但它们没有显示出来。 这是图层。xml: 我已经多次删除和创建这些文件,因此有后缀。我唯一添加的是位置。 我想我