ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【WordPress】カスタム投稿タイプの記事一覧を取得する方法

スポンサードリンク

http://www.flickr.com/photos/36642717@N00/276380757
photo by Adriano Gasparri


カスタム投稿タイプで記事投稿した記事を取得する方法です。


WordPressで構造理解しないとカスタマイズし辛い。。。orz

<?php
    // カスタム投稿名とカテゴリidをセットする
    $args = array(
        // カスタム投稿名をセット
        'post_type'   => 'listing',
        // 表示件数(-1で全ての記事を表示)
        'numberposts' => -1
    );

    // get_posts()で記事データを取得する
    $customPosts = get_posts($args);
    if ($customPosts) :
        foreach($customPosts as $post) :
            // こいつにセットするとのちのthe_permalink()とかの関数が使用できるらしい
            setup_postdata($post);
?>
    <!-- ここで投稿記事の情報を取得する -->
<?
    endforeach;
    endif;
?>


色々探して、色々なやりかたがあったけど、これでできた。


あと取得する投稿タイプと合わせてカテゴリのidでも条件を絞ることもできた。


さっきのコードにカテゴリを追加するコードを追加するだけ。

<?php
    // アクセスしたページのカテゴリを取得
    $cat_now = get_the_category();
    $categoryId = $cat_now[0]->term_id;


    // カスタム投稿名とカテゴリidをセットする
    $args = array(
        // カテゴリidをセット
        'category'    => $categoryId,
        // カスタム投稿名をセット
        'post_type'   => 'listing',
        // 表示件数(-1で全ての記事を表示)
        'numberposts' => -1
    );

    // get_posts()で記事データを取得する
    $customPosts = get_posts($args);
    if ($customPosts) :
        foreach($customPosts as $post) :
            // こいつにセットするとのちのthe_permalink()とかの関数が使用できるらしい
            setup_postdata($post);
?>
    <!-- ここで投稿記事の情報を取得する -->
<?
    endforeach;
    endif;
?>