PHP 学习笔记 (4)

php中文网
发布: 2016-06-13 12:28:46
原创
1095人浏览过

PHP 学习笔记 (四)

wordpress 框架中的一些函数:

wp_get_nav_menu($default): 根据条件$default 获取menu, 默认获取所有的menu

其中 $default 默认如下所示:

<span style="color: #800080;">$default</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(  &lsquo;theme_location&rsquo; </span>=>'',  'menu' =>'',  'container' =>'div',  'container_class' => 'menu-{menu_slug}-container',  'container_id' =>'',  'menu_class'=>'menu',  'echo' => <span style="color: #0000ff;">true</span>,  'fallback_cb'=>'wp_page_menu',  'before' =>'',  'after' =>'',  'link_before' =>'',  'link_after' =>'',  'items_wrap' =>'<ul id=''%1s'>%3<span style="color: #800080;">$s</span></ul>,  'depth' =>0,  'walker' =>''<span style="color: #000000;">);</span>
登录后复制

参数的说明:

$theme_location: 默认为none, 指定注册过的某一个导航菜单,若未指定,则显示第一个。 如primary, secondary等

$menu:默认为none, 使用导航菜单的名称调用菜单,可以使 term_id, slug, name 等属性

立即学习PHP免费学习笔记(深入)”;

$container: 默认为 div, 是ul的父节点,只支持div 和nav标签,也可用false 去掉ul 父节点的标签

$container_class: 默认为menu-{menu_slug}-container, 是ul 父节点的class属性

$container_id: 默认为none , ul父节点的id

$menu_class: 默认为menu, ul节点的class属性

$menu_id: 默认为menu slug, 自增长的ul节点的id属性值

$echo: 默认为true 确定直接显示导航菜单韩式返回HTML片段,如果想将导航的代码作为肤质使用,可以设置为false.

$fallback_db: 默认值为wp_page_menu, 用于没有在后台设置导航时调的回调函数

$items_wrap: 默认为none, 使用字符串修改替换ul的class

$depth: 默认为0, 显示菜单的层级深度, 为0时显示所有深度的菜单

$walker: 默认使用 new Walker_Nav_Menu(), 自定义的遍历对象,调用一个Walker子类对象定义显示导航菜单。

 

使用Walker 子类制作自定义菜单:

AI Note
AI Note

AI Note 助手,像贴心女仆一样助力你的笔记!智能总结内容,精确划重点,提供专业建议,让学习与工作更高效。让你的笔记更清晰、有条理,知识尽在眼前!

AI Note 86
查看详情 AI Note

Walker 类是一个抽象类,该类定义了如何显示导航等,这个抽象类包含4个属性和6个方法:

属性:

$tree_type  , $db_fields, $max_pages, $has_children

方法:

start_lvl: 当Walker类达到结构顶层时执行该方法,可用于输出开始元素

end_lvl: 关闭start_lvl输出的元素标签

start_el: 为每一个元素输出一个开始标签

end_el: 关闭start_el 的标签

(核心)display_element: 定义如何显示树形结构中的元素

(核心)walk 根据$max_depth, 循环树形结构中的每一个元素

 

如果需要自定义导航,可以直接写一个类类继承Walker, 但是这样要重写所有的方法。如果改动不大,可以直接继承Walker_NAV_Menu类,重写需要修改的类即可。

在重写 display_element时, 参数$element 包含当前遍历到的元素的所有信息, 如可以用$element->object_id 来获取当前元素的term_id

 

代码片段: 使用add_shorcode('name','function_name') 可在系统中产生一个代码片段 ['name'], 可以在wordpress的后台文章中直接使用,或者在代码中使用 show_shortcode['[name]']; 直接执行

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号