首页 / PHP / PHP学习笔记(4)
PHP学习笔记(4)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP学习笔记(4),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2233字,纯文字阅读大概需要4分钟。
内容图文
PHP 学习笔记 (四)Wordpress 框架中的一些函数:
wp_get_nav_menu($default): 根据条件$default 获取menu, 默认获取所有的menu
其中 $default 默认如下所示:
$default = array( ‘theme_location’ =>'', 'menu' =>'', 'container' =>'div', 'container_class' => 'menu-{menu_slug}-container', 'container_id' =>'', 'menu_class'=>'menu', 'echo' => true, 'fallback_cb'=>'wp_page_menu', 'before' =>'', 'after' =>'', 'link_before' =>'', 'link_after' =>'', 'items_wrap' =>'<ul id=''%1s'>%3$s, 'depth' =>0, 'walker' =>'');
参数的说明:
$theme_location: 默认为none, 指定注册过的某一个导航菜单,若未指定,则显示第一个。 如primary, secondary等
$menu:默认为none, 使用导航菜单的名称调用菜单,可以使 term_id, slug, name 等属性
$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 子类制作自定义菜单:
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学习笔记(4)全部内容,希望文章能够帮你解决PHP学习笔记(4)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。