WordPress 菜单:注册、调用与绑定的解耦逻辑

WordPress 菜单:注册、调用与绑定的解耦逻辑


Theme Dev
WordPress PHP Backend

用惯了组件化的 Import,刚碰 WordPress 这种老架构可能会觉得有点绕。最典型的坑就是菜单渲染。

表现

header.php 里的 HTML 结构写得挺好,但进入后台找不到菜单设置。或者后台配好了,前端导航还是空的。

分析

WordPress 的导航系统不是把 HTML 写死,它是把能力注册、模板调用和数据绑定分开了。这三者缺一个,数据流就断了。

解决方案

按标准流程把这三个点补齐:

1. 注册能力functions.php 里向内核声明主题支持菜单: register_nav_menus(array( 'primary' => 'Primary Menu' ));

2. 模板调用 删掉 header.php 里写死的静态 <ul>,换成动态调用: <?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'navbar-nav')); ?>

3. 后台绑定 最后进入 外观 -> 菜单 新建菜单结构,并在“显示位置”里勾选刚才注册的 Primary Menu

© 2026 Personal Website
Developed by Ryan 🫡