gpt4 book ai didi

WordPress - 在第 3 级子页面上列出多级父页面

转载 作者:行者123 更新时间:2023-12-04 07:05:33 24 4
gpt4 key购买 nike

我目前正在一个网站上工作,导航的工作方式如下(根据客户规范)。

在标题下方有一个水平导航,列出了顶级页面,单击其中一个会将您带到 page.php,它在侧栏中有一个垂直导航,列出了该特定页面的子页面,如下所示:

二级
- 第 3 级
- 第 3 级
- 第 3 级
二级
- 第 3 级
- 第 3 级
- 第 3 级

等等等等。

这是我目前在垂直导航中使用的代码:

$children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
if ($children)
{
<ul>
echo $children;
</ul>
}

我希望能够做的是继续拥有相同的垂直导航,无论当前页面级别如何。当您在第 3 级页面上时,我发现很难列出第 1 级页面的子页面。

任何建议都非常感谢。

最佳答案

尝试使用 get_post_ancestors .在类似的情况下,这种方法似乎对我有用:

<?php
global $wp_query;
$post = $wp_query->post;
$ancestors = get_post_ancestors($post);
if( empty($post->post_parent) ) {
$parent = $post->ID;
} else {
$parent = end($ancestors);
}
if(wp_list_pages("title_li=&child_of=$parent&echo=0" )) { ?>

<ul id="secondary-nav">
<?php wp_list_pages("title_li=&child_of=$parent&depth=1" ); ?>
</ul><!-- #secondary-nav -->

<?php } ?>

然后我用它来用 CSS 定位当前的导航状态:
#secondary-nav li a:hover,
#secondary-nav li.current_page_item a,
#secondary-nav li.current_page_ancestor a {
background:#fcb701;
}

您可能需要删除 深度显示您是第 3 级页面的参数。

我希望这有帮助!

关于WordPress - 在第 3 级子页面上列出多级父页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1160047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com