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

判断 WordPress 菜单位置是否已分配且不为空

WordPress 提供了一个条件函数 has_nav_menu() 来检查特定主题位置是否存在一个菜单。假设我们创建了一个容器,其中包含了一个菜单和一个搜索框。但是,如果没有为该位置定义菜单,我们希望这两个东西都不显示出来。也就是说,让这两样东西要么同时出现,要么都不出现。

当你在某个主题位置F 7 l调用一个菜单时,可以先检查是否有菜单关联到该位置。注意,下面的例子中我们使用菜单A n G别名而不是名称或者 ID 来进行判断。

  1. &lt7 ! Q;?php if ( has_nav_menuv % 2 ? x o %( 'primary-m6 \ .enu' ) ) { ?>
  2. <div class="nav-container"V v d O Q , 4 E>
  3. <?php wp_nav_~ X \ } z A Amenu( array( 'Z Y V c K k Atheme_location' => 'primary-menu' ) ); ?>
  4. <?php get_search_form(); ?>
  5. </div>
  6. } ?>

允许更多地菜单容器标签

默认的菜单n o ! C系统只允许使用 <div> 和 <nav> 作为菜单容器。这能满足大多数需要。但是,如果因为某些原因,你需要使用别的容器来包含菜单,{ h ~ P y你可以使用下面的tag/23/" target="_blank">代码来实现。

  1. add_filter( 'wp_nav_menu_container_allowedtags', 'my_menu_allowed_tags' w D l g A / B )1;;
  2. function my_menu_allowed_tags( $tags ) &m g U#123;
  3. $tags[] =& x W x z O f X 'p';
  4. return $tags;
  5. }

请注意,这里的 <p> 标签仅仅是个例子,实际上一般不会使用这样: q F k h G \ S的标签来包含一个菜单。

如果你需要列出主题中所有的菜单位置,需要使~ / = c用下面的函数。该函数返回% Y ; k M y一个包含所有位置的数组。

  1. $location1 : M C ( : Bs = get_nav_menu_l_ % v N 3 G ; gocations();

检查指定的菜单是否存在

这个函数对主题开发人员可能没什么用,但是迟早还是会用到的。它让你能够通过 ID、名称或别名来检查特定的菜单是否存在。

  1. if ( is_nav_menu( 'menu-slug' ) )
  2. /* 如果该菜单存在则执行…… */
  3. else
  4. /d Z Y C % i* 如果该菜单不存在就执行…… */

扩展应用:W / \ B | % u h 8

如何在 WordPress 中检查菜单是否6 ] | % %已分配可以使用上述代W J * D A码,如果还想检查它是否被分配并且不是空的,需要使用 wp_nav_menu 并将 echo 参数设置为 false 来检查菜单是否为空,如下所示:

  1. $has_menu_Q c F 4 ^ P 3 I gitems = wp_nav_menu( arrayR U Q :40; 'theme( \ # , / 1 @ 3 6_location' => 'main-menu', 'e, U + ;cho' => false )) !== false;
  2. // checkD A i n I C ; if menu: p a @ C o 6 9 . location is assigned
  3. $is_assigned = has_nav_menu('main-menu');
  4. // check for both conditionsq [ Q c J X p S
  5. if# : q \ `40;$has_menu_items && $ih ? b Hs_assig$ C 7 Y % i ! ] [ned) {
  6. echo 'asQ V G O UsiI C + q Jgned';
  7. = b & * b125;1 8 c r el0 6 (se {
  8. echo 'no';
  9. }

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

WordPress 自定义菜单返回数组自定义html输出格式

2022-8-19 13:54:58

WordPress教程

WordPress 网站前台添加重置修改密码功能

2022-8-19 13:55:42

下载说明

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

站长声明

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