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

WordPress如何显示子页面的所有子级页面,实现多级嵌套页面列表展示

WordPress 多级嵌套子页面列表实现方案

你使用的wp_list_pages原生就支持输出多层嵌套的页面结构,仅需要调整参数+补充对应缩进样式即可实现需求:

  1. 按需调整child_of参数值,匹配你要展示的根页面ID
  2. 显式声明depth参数控制层级深度(默认值0就是展示所有层级)
  3. 补充CSS实现嵌套层级的缩进效果

完整修改后代码

<div class="nav-col">
    <?php 
    global $post;
    // 要展示当前页面下的所有子页就用$post->ID,要展示当前页面父级下的所有页面就用$post->post_parent
    $root_page_id = $post->ID; 
    ?>
    <div class="side-nav">
    <?php 
    wp_list_pages(array(
        'child_of'    => $root_page_id,
        'title_li' => "",
        'depth' => 0, // 0=无限制层级,可自行修改为最大展示层级,比如最多3级就填3
        'sort_column' => 'menu_order' // 可选,按后台设置的页面排序规则展示
    ));
    ?>
    </div>
</div>

补充缩进样式

在你的主题CSS文件中加入以下代码,即可实现嵌套层级的缩进效果,匹配你预期的展示样式:

/* 二级及以下子页面缩进20px */
.side-nav ul ul {
    padding-left: 20px;
    margin: 8px 0;
}
/* 可选:调整列表项间距 */
.side-nav li {
    margin: 4px 0;
}

如果你需要自定义列表的输出结构(比如添加自定义类名、修改标签结构),可以通过get_pages配合递归函数实现,不过默认wp_list_pages输出的语义化嵌套列表已经能满足绝大多数场景的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:21:01