Blog

【WordPress】固定ページで関連したカスタム投稿を表示

2017/03/01

カスタム投稿

備忘録です。

固定ページ(page-●●.php)で関連したカスタム投稿を表示する方法です。
関連したカスタム投稿を表示するためには、固定ページのスラッグとカスタム投稿のタームを同じにする必要があります。

今回はpage-test.phpでカスタム投稿を表示する方法です。

taxonomyのタームをtestにします。page-test.phpに記述

<?php $q = new WP_Query(array('post_type' => 'foo')); ?>
    <?php if($q->have_posts()): ?>
    <div>
        <ul>
            <?php
                $Q = array(
                'posts_per_page'  => '4',
                'tax_query' => array(
                array(
                    'taxonomy' => 'boo',
                    'field' => 'slug',
                    'terms' => get_post($wp_query->post->ID)->post_name, //固定ページのスラッグtestを読み込み
                    ),
                ),
                'orderby' => 'date',
                'order' => 'DESC',
                );
                query_posts($Q);
            ?>
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
            <li>ここに投稿を表示します。</li>
            <?php endwhile; ?>
            <?php endif; ?>
        </ul>
    </div>
    <?php endif; ?>
<?php wp_reset_query(); ?>

通常の投稿ページのカテゴリでも同様に表示できます。

<ul>
    <?php
        $args = array(
            'post_type' => 'post',
            'category_name' => get_post($wp_query->post->ID)->post_name,//固定ページのスラッグtestを読み込み
            'posts_per_page' => 3,
       );
       $the_query = new WP_Query( $args );
    ?>
    <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();?>
    <li>ここに投稿を表示します。</li>
    <?php endwhile; ?>
    <?php endif; ?>
</ul>

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ