サポート » 使い方全般 » トップページへ、カスタムポストの記事を、カテゴリ別で表示したい

  • 解決済 dowel

    (@dowel)


    皆様、お忙しい中大変恐縮です。
    以下の件についてご教授いただけますでしょうか。

    現在、’blog’というカスタムポストを設け、’blog-cat’という名でカスタムポストにカテゴリを追加しました。

    やりたいことは、トップページへカスタムポストのカテゴリ別新着記事表示です。
    カスタムポストタイプ記事の、
    ‘カテゴリーA’という名でスラッグ’cat-a’というカテゴリー記事一覧と、
    ‘カテゴリーB’という名でスラッグ’cat-b’というカテゴリー記事一覧を表示させたいのですが、行き詰っております。

    カスタム投稿の一覧ページにて、カテゴリ別に振り分け表示がしたい
    こちらの記事と同じことなのかと思いますが、コードの内容を深く理解していない為、うまく表示できませんでした。

    現在以下のようなコードを書き、いろいろ???の部分を変えて試してはみたのですがうまくいきません。

    <?php
    $args=array(
    'post_type' => 'blog',
    'taxonomy' => '?????',//何を入れたらよいのかわからない状態です。
    'terms' => '?????',//ここも何を入れればよいのでしょうか?
    'posts_per_page' => 5
    ); ?>
    <?php query_posts( $args ); ?>
    <?php if (have_posts()) : ?>
    <ul class="news_list">
    <?php while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    </ul>
    <?php endif; ?>

    どのようなコードを書けばよいのか、ご教授いただけますと幸いです。
    よろしくお願いいたします。

    *****************************
    Wordpressバージョン4.0.1
    カスタムポストは、function.phpへ直接記入。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 上の部分、これでいけませんかね?

    $args=array(
    'post_type' => 'blog',
    'taxonomy' => 'cat-a',
    'posts_per_page' => 5
    );
    トピック投稿者 dowel

    (@dowel)

    nogud 様

    早速のご回答ありがとうございます。

    実は、私もそれでいけると思い、何度も試してはみたのですが、表示される記事がカスタムポスト[blog]の記事すべてになってしまい、カテゴリー別けができていない状態となってしまっているのです。
    ですので、ひょっとして私の書いているコードが間違っているのでは?と思い、何を入れてよいのかという質問をさせていただきました。

    これをカテゴリー別に表示させるためには、まだなにか必要なコードがあるのでしょうか???
    あるいは、根本的に間違っているのでしょうか?

    恐縮ではありますが、ご教授いただけますと幸いです。

    http://gatespace.jp/2012/05/14/view-posts-each-category/

    こちらの上部にあるソースでいけませんかね?

    トピック投稿者 dowel

    (@dowel)

    nogud 様

    ご回答ありがとうございます。

    リンク先のコードを参考に、カスタムポスト用に少し変えて試しています。
    カスタムポストのカテゴリー別で記事を読み込むことまでは解決いたしました。ありがとうございます。しかし、なぜかカテゴリーのループが2回繰り返されるようで困ってしまっています。

    書いたコードは以下です。

    <?php
    $catargs = array(
    	'taxonomy' => 'blog-cat'
    );
    $catlists = get_categories( $catargs );
    foreach($catlists as $cat) : // 取得したカテゴリの配列でループを回す
    	$args = array(
    	'posts_per_page' => 5,
    	'post_type' => 'blog',
    	'blog-cat' => 'cat-a'
    	);
    	$my_posts = get_posts( $args );
    	global $post; // テンプレートファイル内なら書かなくても良い
    	if ( $my_posts ) { // 該当する投稿があったら
    		foreach ( $my_posts as $post ) :
    			setup_postdata( $post ); ?>
    		<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br />
    		<?php endforeach; // 投稿のループ終わり
    	} else {
    		//表示するものがない場合のコード
    	}
    	wp_reset_postdata();
    endforeach; // カテゴリのループ終わり
    ?>

    なぜ2回ループしてしまうのでしょうか?
    お手数おかけいたしますが、よろしくお願いいたします。

    'blog-cat' => 'cat-a'
    この部分を
    'blog-cat' => $cat->'cat-a'

    このようにしてもだめですかね?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「トップページへ、カスタムポストの記事を、カテゴリ別で表示したい」には新たに返信することはできません。