Wordpress:模板标签get_page()

时间:2009-10-14 13:55:59

标签: wordpress templates themes

不确定这是否编程足够,或者它是否应该转到超级用户,而不是全部编程。我把它留给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中实现这一点感到困惑。欢迎提出任何建议!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

以下是Wordpress文档所说的内容(我的重点):

child_of

仅显示单个页面的子页面;使用Page的ID作为值。默认为0(显示所有页面)。 请注意,child_of参数还将获取给定ID的“孙子”,而不仅仅是直接后代。

显示将此ID作为父级的页面。默认为-1(显示所有页面而不管父项)。 请注意,这可以用于限制child_of参数的“深度”,因此只能检索一代后代。您必须将此与child_of参数结合使用。输入相同的ID。

鉴于此,您需要做的就是删除parent参数 - 假设您想要的是后代的平面列表而不是分层列表。要显示列表中任何给定页面的父ID,我认为您只需要访问该页面对象的特定属性(可能命名为parent_id)。