0

現在、次のスニペットを使用して、その特定のページのすべての子を表示するナビゲーション バーがあります。

    <div id="sub_nav_del">
                        <h4>Take a seat</h4>
                        <?php
                        $pages = get_pages('child_of='.$post->ID.'&sort_column=menu_order');
                        $count = 0;
                        foreach($pages as $page)
                        { ?>

                        <ul>
                            <li>
                            <h5 class="del">
                                <a href="<?php echo get_page_link($page->ID) ?>"><?php echo $page->post_title ?></a>
                            </h5>
                            </li>
                            </ul>
                        <?php
                        }
                        ?>
</div>

ただし、子ページのいずれかにいる場合は、ナビゲーションを引き続き表示したいと思います。

4

1 に答える 1

1

get_pagesページの親を要求することで、 -callの post-ID を特定できます。親がない場合は、ページの ID が使用されます。

$subnav_parent = ($post->post_parent) ? $post->post_parent : $post->ID;
$pages = get_pages('child_of=' . $subnav_parent . '&sort_column=menu_order');

ただし、第 3 レベルのページでは機能しませんが、第 2 レベルのページでは問題ありません。

于 2012-09-03T15:45:42.377 に答える