• 解決済 akumaru

    (@akumaru)


    私は下記のリンクのコードを参考にしました。
    http://www.umbrellaprocess.com/archives/201

    例えば記事に『ゲーム』『ネット』『(親)スマホ – (子)Android』この4つのカテゴリに登録しているとします。

    記事の内容の下などに同一カテゴリ記事で全て表示されてしまいます。
    これではページが長くなってしまいます。

    親カテゴリを2つだけ表示する方法を教えてください。
    よろしくお願いします。

    PHPは初心者です。

    <?php $categories = get_the_category();
    foreach($categories as $category):
    $related_posts = get_posts('category='.$category->cat_ID.'&exclude='.$post->ID);
    if($related_posts): ?>
    <h2><?php echo $category->cat_name; ?>カテゴリの最新記事</h2>
    <ul>
    <?php foreach($related_posts as $related_post): ?>
    <li><a href="<?php echo get_permalink($related_post->ID); ?>"><?php echo $related_post->post_title; ?></a></li>
    <?php endforeach; ?>
    </ul>
    <?php endif; endforeach; ?>
8件の返信を表示中 - 1 - 8件目 (全8件中)
  • その記事を書いた本人です。
    『ゲーム』『ネット』『(親)スマホ』 『 (子)Android』
    どれが表示されたらいいのか、具体的に教えてください。

    トピック投稿者 akumaru

    (@akumaru)

    hissyさん返信ありがとうございます。
    まさか記事を書いた本人とは(゚д゚ )

    登録しているカテゴリは次の合計4つです。(親=3、子=1)
    『ゲーム』『ネット』『(親)スマホ』 『(子)Android』

    4つ表示も表示すればページが長くなるので親カテゴリの『ゲーム』『ネット』の2つを表示させたいです。

    子カテゴリは表示させたくありません。

    よければ返信よろしくお願いします。

    ・カテゴリーは2つのみ表示する
    ・親カテゴリーを持つカテゴリーは表示しない

    という条件でよろしいか?

    トピック投稿者 akumaru

    (@akumaru)

    はい。その条件です。

    よろしくお願いいたしますm(_ _)m

    こんな感じかと。

    <?php $categories = get_the_category();
    $c_categories = array();
    foreach($categories as $category){
    	if ( !$category->parent ) $c_categories[] = $category;
    }
    $categories = array_slice($c_categories,0,2);
    foreach($categories as $category):
    // 以下同じ
    トピック投稿者 akumaru

    (@akumaru)

    出来ました!! ありがとうございます!

    追加なのですが、表示数を変更するにはどのようにすればよいでしょうか?
    自分なりに『numberposts=』を使い色々やったのですが、うまくいきませんでしたorz

    このように修正すればよいでしょう。デフォルトは5です。

    $related_posts = get_posts('category='.$category->cat_ID.'&exclude='.$post->ID.'&numberposts=2');

    トピック投稿者 akumaru

    (@akumaru)

    無事にできました! 本当にありがとうございます。m(_ _)m

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「同一カテゴリの記事表示で親カテゴリ2つだけ表示する方法」には新たに返信することはできません。