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

如何通过代码获取并编辑WordPress导航区块?

解决方案:WordPress新版导航区块的代码编辑方式

不需要直接修改wp_posts表中的post_content字符串,WordPress提供了官方合规的API来处理新版导航,更安全且不易出错:

  • 获取导航对象:用wp_get_navigation()替代旧的wp_get_nav_menu_object(),它能正确识别新版wp_navigation帖子类型。示例代码:
    $navigation = wp_get_navigation( array( 'title' => 'Main' ) );
    
  • 编辑菜单项:拿到导航对象后,通过wp_get_nav_menu_items()获取所有菜单项,再用wp_update_nav_menu_item()添加/修改项,wp_delete_nav_menu_item()删除项。示例:
    if ( $navigation ) {
        // 获取当前导航的所有菜单项
        $menu_items = wp_get_nav_menu_items( $navigation->menu_id );
        
        // 添加新菜单项
        $new_item_id = wp_update_nav_menu_item(
            $navigation->menu_id,
            0,
            array(
                'menu-item-title' => '新菜单项',
                'menu-item-url' => 'https://example.com',
                'menu-item-status' => 'publish'
            )
        );
        
        // 删除指定菜单项(需提前知晓目标item ID)
        // wp_delete_nav_menu_item( $target_item_id );
    }
    
  • 不建议直接修改post_content:导航的post_content是区块格式的结构化字符串,手动修改极易破坏区块结构,导致导航显示异常。官方API会自动处理内容的序列化与存储逻辑,更可靠。

如果需要对区块结构做精细化调整,也可以用parse_blocks()解析post_content为区块数组,修改后再用serialize_blocks()重新生成内容,但这种方式仅适合特殊场景,优先推荐官方导航菜单API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:42:02