不确定这是否编程足够,或者它是否应该转到超级用户,而不是全部编程。我把它留给mod决定。
我使用get_pages()创建了一个菜单并指定了父ID。此父ID包含子项和子子项以及子子项。我需要每个(子)子节点都显示父ID,因为此菜单位于header.php文件中。因此,无论他们的祖先如何,它都将被包含在所有页面中,并且我希望他们的部分主要项目接收特定的类“currentActive”。
我制作的代码适用于儿童,而不适用于子/子子
<li id="infographieButton" <?php echo ($post->ID == 5 || $post->post_parent == 5)? 'class="currentlyActive"': ''; ?>>
<a href="<?php bloginfo('url') ?>/infographie/" class="menuHeader"><span>Infographie</span></a>
<ul id="dropdownmenuInfographie" class="submenu">
<?php
$pages = get_pages('child_of=5&parent=5&sort_column=menu_order&sort_order=asc&title_li=');
foreach($pages as $page) {
?>
<li <?php echo ($post->ID == $page->ID)? 'class="current_page_item"': ''; ?>><a href="<?php echo get_page_link($page->ID) ?>"><?php
echo $page->post_title;
?></a></li>
<?php
}
?>
</ul>
</li>
我对如何在wordrpress中实现这一点感到困惑。欢迎提出任何建议!
答案 0 :(得分:1)
看到你在http://wordpress.org/support/topic/321046
问了同样的问题请参阅http://codex.wordpress.org/Function_Reference/get_post_ancestors
答案 1 :(得分:0)
以下是Wordpress文档所说的内容(我的重点):
child_of
仅显示单个页面的子页面;使用Page的ID作为值。默认为0(显示所有页面)。 请注意,child_of参数还将获取给定ID的“孙子”,而不仅仅是直接后代。
父
显示将此ID作为父级的页面。默认为-1(显示所有页面而不管父项)。 请注意,这可以用于限制child_of参数的“深度”,因此只能检索一代后代。您必须将此与child_of参数结合使用。输入相同的ID。
鉴于此,您需要做的就是删除parent
参数 - 假设您想要的是后代的平面列表而不是分层列表。要显示列表中任何给定页面的父ID,我认为您只需要访问该页面对象的特定属性(可能命名为parent_id
)。