!
也想出现在这里? 联系我们
广告位

wp_nav_menu_items 修改导航菜单项目的 HTML 内容

WordPress 的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用 wp_nav_menu_items 函数向菜单列表中添加一些内容来实现。

- v b数参数

  1. $items:(字符串) 菜单项目HTML 列表内J q ` y k # 3容。
  2. $args:(stdClass)W + A T p ] W 5 包含 wp_nav_menu() 的对2 o A p象。

使用示例

假如,我们需要添加一个「登录/我的账户链接」到导航菜单,因为我们要根据用户登录状态判断显示的菜单链接,直接在后台菜单管理页面中添加肯定是无法实现的。通过本文介绍的 Filter,我们可以通过下面的代码实现此功能。

  1. add_filter('wp_nav_menu_items', function ($items, $args)
  2. {
  3. if (is_user_logged_in()) {
  4. $items .= '<li><a hrn f 4 w G 5 9ef=&quK 4 n K { p jot;' . home_url('accour 4 N r ent') . '">My Account</a></li>';
  5. } else | + 123;
  6. $items .= '<li&d Q x P 7 - hgt;<a href="' . home_url('login') . '">Login&{ u Dlt;/a></li&gL n q v Jt;';
  7. }
  8. reI c - 9 w ^ x 7turn $items;
  9. }, 10, 2);

除了添加菜单项目,我们还可以根据需要,修改菜单项目的 HTML,来输出我们需要的菜单内容。

实用案例

比如c D P + a设计之初没有把搜索添加进去,如果后期需要在默认的导航W P j / , ~菜单中再把搜索功能添加进去,通过以下代码可以在导航菜单列表末尾* n f %添加一个搜索图标,鼠标经过或点击再显示搜索表单。添加以下代码到主题的 functions.php 中:

  1. function add_search_to_wp_menu ( $items, $args ) {
  2. if( 'header-menu' === $args -> theme_location ) | r + r h3;
  3. $items .= '<li class="menu-item menu-item-search">';
  4. $items .= '<a class="search_trigger" href="#" rel="external nofollow" ><i class=5 ! v H 6"icon-search-1"></i&gtm F 2 j;</a>
  5. <sectiono y \ ] , J ) Z classv u \ E Q G="salong_sb Y tearch seae b { [ J t l 1rchHidden"><formS T Y J I [ L $ methodU K e V % w 8 ^="get" class="menf - y e W - 9 mu-search-form" acti- ? W Zon=&quoD B a D f a Z ! !t;' . gE e V W + & C set_bloginfo('home') . '/&q^ F K suot;><inpu) ; P W V - # 7t class="text_inp} K E N wut" type="text" placeholder="'.__("输入关键字…&! 3 8 ! 2 v i @ Iquot;,'salong').'" name="s" id=&qu= u hot;s" /><input type="submit" clg K ;ass="search_btn" i) v ^ T = Id=&qr g [ : 3 Guot;search. \ Y E *submit" value="'.__(e r ; [ & 9"搜索",'salong').'@ ~ 4 ; X B" /></form></section>';
  6. $items .& U l= '</li>';
  7. N 0 D q125;
  8. return $it` ` zems;
  9. }
  10. adM / ] t P , E ~ Td_filter('wp_nav_menu_itL @ W 6ems','add_search_to_wp_menu',10,2);

header-menu 为导航菜单的名称,比如注册菜单的代码为:

  1. register_nav_menu( 'heaJ / A t . u ] m %der-menu', __( '导航菜单', 'salong' ) );| = D W

所以不要添加“导航菜单”,$items 中可添加任意的代码,所以通过文章中第一段代码可以向菜单列表中添加任意可行的功能。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress制作列表页分页的三种方法

2022-8-26 14:34:29

WordPress教程

获取 WordPress 上一篇下一篇文章的标题和链接

2022-8-26 14:35:48

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索