如何找出当前页面的层次结构?

Jak*_*ris 2 wordpress

在我的Wordpress网站上,我想在当前网站部分显示一个页面列表.它需要获取不同级别的页面,具体取决于当前页面所在层次结构中的级别.

例如:

  1. 顶级页面:列表根本不应显示.
  2. 二级页面:列表应仅显示当前页面的子页面.
  3. 第三级页面:列表应显示兄弟页面和子页面.

找出当前页面的层次结构的简单方法是什么?

Jak*_*ris 6

我发现最简单的方法是:

$level = count(get_post_ancestors( $post->ID )) + 1;
Run Code Online (Sandbox Code Playgroud)

这只是给出一个数字,表示当前页面的深度.1是顶级,2是第二级等.然后你可以根据这个数字切换代码:

switch($level) {
    case 1:
        // top level page code;
    break;
    case 2:
        // second level page code;
    break;
    case 3:
        // third level page code;
    break;

    // etc.
}
Run Code Online (Sandbox Code Playgroud)