0

私のセットアップは次のとおりです:
- 「クライアント」と呼ばれるカスタム投稿タイプ
- ナビゲーションの 2 つのレベル (別の、現在のページに親/子がある場合にのみ表示される 2 番目のレベル)
- クライアントと呼ばれるページ
- クライアントの投稿にはカスタム テンプレートがあります (単一- client.php)

「クライアント」がクライアント ページのサブページ/子を投稿するようにしたいので、クライアント ページにナビゲーションが正しく表示され (サブページが自動的に一覧表示されます)、新しいクライアントを簡単に追加できます。

いくつかのスクリプトを見つけましたが、どれも私が望んでいたとおりのものではありませんでした。

サブナビゲーションコードの主要部分は次のとおりです。

<nav id='content_clients_navig' class='navig_general'>
    <ul>
        <?php
            global $post;

            //determine which navig should be displayed
            //if post has parent, display parent navig
            //else display the current post's navig
            $navig_display = ($post->post_parent) ? $post->post_parent : $post->ID;

            $menu_args = array(
                'child_of' => $navig_display,
                'title_li' => ''
            );
            wp_list_pages( $menu_args );
        ?>
    </ul>
</nav>

テンプレート ファイルに次のコードを挿入して呼び出します。

<?php if (has_subnavig()) get_template_part( 'part', 'subnavig' ); ?>

has_subnavig は次のとおりです。

function has_subnavig()
    {
        global $post;
        if( is_page() && $post->post_parent){
            return true;
        }else{
          $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
        };
        if($children){
          return true;
        }else{
          return false;
        };
    }
4

1 に答える 1