読者です 読者をやめる 読者になる 読者になる

ショウジンブログ

Learn as if you will live forever, Live as if you will die tomorrow.

ループ内でカスタム投稿タイプを判別して出力を分ける@WordPress

WordPress条件分岐 WordPressカスタマイズ
Sponsored Links

f:id:showjinx:20160715114059j:plain

WordPressのループ内で投稿タイプを判別して出力を出し分ける例です。

例えば、投稿タイプごとに見出しにそれとわかるアイコン画像を表示したいとか、特定の文字列を表示したいとか。

ようするに、指定した投稿タイプごとに出力を分けたい場合に使えます。

ループには get_posts() を使っています。

<?php
    $args = array(
        'post_type' => array('post', 'seminar'), /* 投稿タイプを指定 *複数指定する場合はカンマ区切りで */
        'paged' => $paged,
        'posts_per_page' => 5, /* 取得記事件数 */
    );
?>
<?php $my_posts = get_posts( $args ); ?>
<?php if ( $my_posts ) :
    foreach ( $my_posts as $post ) : setup_postdata( $post ); ?>
        <div class="home_info-desc">
            <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
            <?php
                if($post->post_type == 'post'){
                    echo 'デフォルトの投稿の場合';
                }elseif($post->post_type == 'seminar'){
                    echo '投稿タイプのスラッグが "seminar" の場合';
                };
            ?>
        </div>
<?php endforeach; ?>
<?php else : /* 投稿がないとき */ ?>
    <p>情報はありません。</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>