You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义主题左侧边栏菜单无法编辑排序求助

解决WordPress主题自定义izer无法编辑菜单的问题

嘿,作为第一次开发WordPress主题的新手,碰到这个问题真的太常见啦!别担心,我来一步步帮你搞定~

问题根源

你现在的代码已经正确注册了菜单位置,但还没有创建并分配自定义菜单到这个位置。WordPress在没有指定自定义菜单的情况下,会自动拉取所有页面作为默认菜单,这种默认菜单是没法在自定义izer里直接编辑排序、增删内容的。

解决步骤

1. 后台创建并分配自定义菜单

  • 登录WordPress后台,进入「外观」→「菜单」页面
  • 点击「创建新菜单」,给菜单起个名字(比如和你注册的header-menu对应,叫「Header Menu」),然后点击「创建菜单」
  • 现在你可以在页面左侧添加页面、自定义链接、分类等内容到菜单里,还能通过拖拽来调整排序,完全按照你的需求来配置
  • 拉到页面底部的「菜单设置」区域,找到你注册的「Header Menu」选项并勾选,最后点击「保存菜单」

2. 确认代码正确性(你的代码其实没问题,这里再核对下)

你添加的代码是标准的WordPress菜单注册和调用方式,完全正确:

  • 注册菜单的函数:
function register_custom_menu() { 
    register_nav_menu('header-menu',__( 'Header Menu' )); 
} 
add_action( 'init', 'register_custom_menu' );
  • 头部调用菜单的代码:
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>

3. 回到自定义izer验证

现在再进入「外观」→「自定义」,你会发现左侧边栏的菜单选项已经可以正常编辑了——能拖拽排序、增删菜单内容,完全和你在后台菜单页面配置的内容同步啦!

小提示

如果以后需要多个菜单位置(比如 footer 菜单),可以用register_nav_menus来批量注册,示例代码:

function register_custom_menus() {
    $locations = array(
        'header-menu' => __( 'Header Menu', 'textdomain' ),
        'footer-menu' => __( 'Footer Menu', 'textdomain' ),
    );
    register_nav_menus( $locations );
}
add_action( 'init', 'register_custom_menus' );

内容的提问来源于stack exchange,提问作者Warf Designs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:32:24