当您被锁定在WordPress管理员之外时该怎么办(wp-admin)
您在登录 WordPress 管理区域时遇到问题吗? 这可能是由许多不同的原因引起的,这使得初学者很难进行故障排除。 在本文中,我们将向您展示当您被锁定在Wor…
目录
WordPress 的 wp_nav_menu()
默认输出 HTML 结构,但有时并不符合我们的设计需求。为了自定义菜单结构,WordPress 提供了 Walker_Nav_Menu
类,允许我们自定义菜单 HTML。然而,每次都重写 start_el()
和 start_lvl()
方法,难免重复代码。
本篇文章将教你如何使用 PHP 继承优化 WordPress 菜单 Walker,创建一个通用的菜单基类,快速生成符合设计需求的 HTML 结构。
WordPress 默认的 wp_nav_menu()
生成的 HTML 结构类似于:
但如果你想要更复杂的结构,比如:
<li>
上添加额外的 data-
属性<div>
包裹二级菜单就需要自定义 Walker_Nav_Menu
。
为了避免重复代码,我们可以创建一个通用的 Base_Menu_Walker
,封装常用功能。
add_menu_classes()
统一管理菜单项 class,可以为当前页、祖先菜单项等添加特殊样式。start_el()
定义菜单项 HTML,可以自定义 <li>
结构。start_lvl()
定义子菜单 HTML 结构,可以替换默认 <ul class="sub-menu">
为其他结构。如果你的菜单项需要显示 FontAwesome 图标,你可以扩展 Base_Menu_Walker
:
<div>
代替 <ul>
作为子菜单如果你想要子菜单用 <div class="dropdown">
而不是 <ul>
,可以这样做:
你可以在 wp_nav_menu()
中调用你的 Walker:
Base_Menu_Walker
,让不同菜单共享通用逻辑使用继承优化 Walker,让 WordPress 菜单开发更简单、更可维护!
WordPress日记主要承接WordPress主题定制开发、PSD转WordPress、WordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310