【wordpress】カスタム投稿タイプの一覧に、active(current)を付ける

2017年10月10日

カスタム投稿タイプの一覧を、サイドバーなどに出力した場合、
勝手にはactiveがつかないので、現在のページがサイドバーのどれかの目印がつけられない。
そこで、アクティブが付くバージョン。

            <?php
            $current_page_id = $wp_query->get_queried_object_id();
            $args = array(
                'posts_per_page' => -1,
                'post_type' => 'schools', //postは通常の投稿機能
                'post_status' => 'publish',
                'orderby' => 'date', //ソートの基準
                'order' => 'ASC' //DESC降順 ASC昇順
            );
            $my_posts = get_posts($args);
            ?>
            <?php foreach ($my_posts as $post): setup_postdata($post); ?>
                <li class="<?php if ($current_page_id == $post->ID ) {echo 'active';} ?>">
                    <a href="<?php the_permalink(); ?>">
                        <?php the_title(); ?>
                    </a>
                </li>
            <?php endforeach; ?>
            <?php wp_reset_postdata(); ?>

肝は
$current_page_id = $wp_query->get_queried_object_id();
これと
<li class="<?php if ($current_page_id == $post->ID ) {echo 'active’;} ?>">
この二行です。

現在のページidが、一覧表示されている投稿のidと一致したらactiveをecho。