サポート » テーマ » 子カテゴリのみの関連記事を個別記事ページで出したい

  • 解決済 tarotaro1192

    (@tarotaro1192)


    投稿記事が属している子カテゴリのみの関連記事を表示する方法を教えていただけないでしょうか?
    カテゴリで関連記事を出すものはネット上ではあるのですが、それを弄って子カテゴリのみに絞ったものが作れないでいます。

    例:記事A
    親カテゴリ 旅行
    子カテゴリ 温泉,旅館

    複数の子カテゴリに属してた場合はそのどちらかに属している関連記事を出せないかと考えております。

    http://nelog.jp/wordpress-customize-related-entries

    上記のURLのものをコピペしてちょっと弄るくらいの知識しかありません。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • hokutonojikei

    (@hokutonojikei)

    tarotaro1192さんこんにちは。

    wp_get_post_categories()
    wp_get_post_terms()

    あたりの関数で記事に所属する子カテゴリが取得できると思います。
    あとは関連記事をだすというプログラムに
    取得した子カテゴリの情報を埋め込めばいけるのではないでしょうか。

    また子の親が決まっているのであれば
    http://niwakasoft.jp/column/get_of_category/

    こちらのページの一番下のサンプルでどうでしょうか?

    通りすがり失礼しました。(テストなどもしておらずすみません)

    トピック投稿者 tarotaro1192

    (@tarotaro1192)

    hokutonojikeiさんありがとうございます。
    その取得した子カテゴリの情報を埋め込むという部分がわからない状況です。

    個別記事の記事下に貼りたいと思っていますので、親は記事ごと変わりますので決まっておりません。

    難しいようでしたら諦めます

    hokutonojikei

    (@hokutonojikei)

    tarotaro1192さん

    お返事遅れまして失礼いたしました。
    以下ご提示いただいたページのソースをちょっといじってみたものです。

    こちらをsingle.phpの表示させたい部分にコピペでいけませんでしょうか。

    <?php
    //カテゴリ情報から関連記事を10個ランダムに呼び出す
    $cats = get_the_category();
    $category_ID = array();
    foreach ( $cats as $cat ) {
    if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) {
    array_push( $category_ID, $cat -> cat_ID);
    }
    }
    shuffle($category_ID);
    $args = array(
    ‘post__not_in’ => array($post -> ID),
    ‘posts_per_page’=> 10,
    ‘category__in’ => $category_ID[0],
    ‘orderby’ => ‘rand’,
    );
    $query = new WP_Query($args); ?>
    <?php if( $query -> have_posts() ): ?>
    <?php while ($query -> have_posts()) : $query -> the_post(); ?>
    <div class=”related-entry”>
    <div class=”related-entry-thumb”>
    ” title=”<?php the_title_attribute(); ?>”>
    <?php if ( has_post_thumbnail() ): // サムネイルを持っているとき ?>
    <?php echo get_the_post_thumbnail($post->ID, ‘thumb100’); //サムネイルを呼び出す?>
    <?php else: // サムネイルを持っていないとき ?>
    <img src=”<?php echo get_template_directory_uri(); ?>/images/no-image.png” alt=”NO IMAGE” title=”NO IMAGE” width=”100px” />
    <?php endif; ?>

    </div><!– /.related-entry-thumb –>

    <div class=”related-entry-content”>
    <h4 class=”related-entry-title”> “>
    <?php the_title(); //記事のタイトル?>
    </h4>
    <p class=”related-entry-snippet”>
    <?php echo mb_substr( strip_tags( $post->post_content ), 0, 70 ) . ”; //記事本文の抜粋を70文字だけ取り出す?></p>
    <p class=”related-entry-read”>“>記事を読む</p>
    </div><!– /.related-entry-content –>
    </div><!– /.new-entry –>

    <?php endwhile;?>

    <?php else:?>
    <p>記事はありませんでした</p>
    <?php
    endif;
    wp_reset_postdata();
    ?>
    <br style=”clear:both;”>

    トピック投稿者 tarotaro1192

    (@tarotaro1192)

    新しい投稿に気づかずに申し訳ありません。
    サンプル例を作っていただきありがとうございます!
    試した所、その該当記事の親カテゴリに含まれる子カテゴリのみの関連記事を取得が上手くできませんでしたが、テンプレートに親カテゴリー別の条件分岐を作ってでしたら上手くいきそうです!ありがとうございました

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「子カテゴリのみの関連記事を個別記事ページで出したい」には新たに返信することはできません。