サポート » 使い方全般 » 固定ページのカテゴリ一覧からカテゴリを選択し、記事一覧を表示したい

  • 解決済 abell13

    (@abell13)


    初めて質問させていただきます。
    不備がありましたら、ご指摘ください。

    親子関係のあるカテゴリで、以下のようなことをやりたいです。

    1. 固定ページ(categorylist.php)でリンク付きのカテゴリ一覧を表示
    2. 記事紹介ページ(home.php)で各記事にリンク付きのカテゴリを表示
    3. 1と2でカテゴリを選択すると、該当カテゴリで絞り込みされた記事一覧ページ(category.php)を表示

    長くなり恐縮ですが、コードを記載いたします。

    categorylist.php
    `
    <div>
    <?php
    $category_ids = array( ‘1’, ‘2’, ‘3’ );
    $category_link = get_category_link( $category_id );
    foreach( $category_ids as $category_id ) {
    ?>
    <p>
    <a href=”<?php echo esc_url( $category_link ); ?>”><?php echo get_cat_name( $category_id ) ?></a>
    </p>
    <?php
    }
    ?>
    </div>
    `

    home.php
    `
    <ul>
    <?php
    global $post;
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) {
    setup_postdata($post);
    ?>
    <li>
    <a href=”<?php the_permalink() ?>”><?php the_title(); ?></a>
    <br><span><?php the_category(‘/’) ?></span>
    </li>
    <?php
    }
    wp_reset_postdata();
    ?>
    </ul>
    `

    category.php
    `
    <h2>Category:<?php $cat = get_the_category(); ?><?php $cat = $cat[0]; ?><?php echo get_cat_name($cat->term_id); ?></h2>
    <?php
    if ( have_posts() ) {
    while ( have_posts() ){
    the_post();
    ?>
    <article>
    <p>
    <a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a>
    </p>
    </article>
    <?php
    }
    }
    ?>
    `

    上記コードで表示確認をすると、以下のような問題が起こります。

    ・categorylist.phpのカテゴリからcategory.phpに遷移すると、カテゴリと記事が空の状態になる
    ・home.phpの<?php the_category('/') ?>で表示されているカテゴリ(子/親)で、親カテゴリを選択した場合、子カテゴリの内容で絞り込まれた状態で表示される

    home.phpの<?php the_category('/') ?>の子カテゴリを選択した場合のみ、category.phpで期待した画面が表示されます。

    上記問題を直接解決できるやり方があれば大変ありがたいのですが、そもそもcategory.phpで表示できるのはthe_categoryで得られたカテゴリのみで、その他のカテゴリ関数で取得したリンクはcategory.phpではなく、他のページを使用するのでしょうか。

    自力でも解決を試みたのですが、なかなかうまくいかないため、アドバイスいただければと思います。
    よろしくお願いいたします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「固定ページのカテゴリ一覧からカテゴリを選択し、記事一覧を表示したい」には新たに返信することはできません。