您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
4-41. wp_nav_menu参数详解
发布时间:2023-03-23 12:44:46编辑:雪饮阅读()
首先来一个新的概念就是导航菜单的子导航层级嵌套关系,在wordpress后台中可以通过手动拖拽每个导航条目通过不同的缩进情况确定了每个导航条目之间的类似上下级的关系,一个已经拖拽好了的页面如
上篇中介绍的wp_nav_menu目前仅仅使用了其参数(数组)中的一个元素“theme_location”(在数组内部,接下来称为参数),那么其它参数的作用描述等如当前主题index.php如
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php wp_head();?>
</head>
<body>
<h1>导航001</h1>
<?php $result=wp_nav_menu([
/*
theme_location参数用于调用当前主题functions.php中所定义的导航位置,可以用导航位置标记做为值
*/
/*
默认情况下导航菜单输出结构参考如:
<标签名 [id="标记0"] class="标记1">
<ul id="标记2" class="标记3">
<li id="menu-item-动态标记6" class="固定标记60-动态标记6">
[标记4]<a href="链接">[标记41]测试2[标记51]</a>[标记5]
</li>
<li id="menu-item-动态标记6" class="固定标记60-动态标记6">
[标记4]<a href="链接">[标记41]关于kasumi[标记51]</a>[标记5]
</li>
</ul>
</标签名>
这里面对于"动态标记6",我的理解是,可能是当前数据id(当前li标签所处于的那条数据的数据id)
这里"固定标记60"的值是固定的“menu-item menu-item-type-post_type menu-item-object-post menu-item”
那么这里container这个参数就定义上面结构中的标签名的,默认标签名为div
那么container_class参数是为了定义"标记1"这个class名称的,默认这个"标记1"的class名称为:
“menu-当前theme_location参数值所对应的菜单的菜单名(可能会url编码,例如中文菜单名的时候)-container”
那么参数container_id的值主要是配置标记0的属性值,如果配置了container_id则,会存在"id=标记0"这个属性在标签上
那么参数menu_class的值主要是配置"标记3",默认值为menu
那么参数menu_id的值主要是配置"标记2",默认值为menu-当前theme_location参数值所对应的菜单的菜单名(可能会url编码,例如中文菜单名的时候)
那么参数echo的值默认是true就是直接输出到页面上,如果配置为false则是不输出仅将要输出的字符串版html代码做为函数的返回值
那么before与after参数则是分别在"标记4"和"标记5"配置值,该值支持html
那么link_before与link_after参数则是分别标记在标记在"标记41"与"标记51"上,当然也是支持html的
那么参数items_wrap则是配置上面整个ul标签的,可以与“标记2”和“标记3”,以及该ul标签内部这个整体进行联动配置,默认值为:
<ul id="%1$s" class="%2$s">%3$s</ul>
这个不太好解释,反正他们之间的关联就是标记,大概是这个意思了,还是要靠意会,而非言谈。
那么depth参数就是显示导航菜单里面导航菜单条目数据的层级,比如配置为1,
则只显示第一层的导航数据,如果配置为2则第一层和低2层的数据都显示
默认值为0,就是全部显示
*/
"theme_location"=>"nav-1",
'container' => 'div',
'container_class'=>'qq',
'container_id' => 'azy',
'menu_class' => 'menu2208',
'menu_id' => 'menu_id_2208',
'echo' => true,
'before' => '《',
'after' => '》',
'link_before' => '<span>',
'link_after' => '</span>',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0
]);
var_dump($result);
?>
</body>
</html>
关键字词:wp_nav_menu,参数