サポート » 使い方全般 » 選択したカテゴリごとに単一記事を表示したい

  • 解決済 taka_fumi

    (@taka_fumi)


    いつもお世話になっています
    テーマ:Twenty Ten を使ってこのようなサイトを作っています。
    ────メニュー────────────────────────
     カテゴリA(ID9)  年ごとにテーマを決めて書く長期記事
      ├2007(ID11)
      ├2008(ID12)
      ├2009(ID13)
      └2010(ID14)
     カテゴリB(ID4)  カテゴリA以外の短期記事
     ブログ(ID5)  日記
    ────────────────────────────────
    困っていることは、単一記事(sigle.php)を表示すると、コンテンツの上下に表示される「次の投稿タイトル」「前の投稿タイトル」にカテゴリAからブログまでの投稿記事が混ざってしまうこと。

    表示デザインはどのページも同じ、変える予定はありません。
    単に、例えば『2007』を選択したら『2007』内の「次の投稿タイトル」「前の投稿タイトル」、『カテゴリB』を選択したら『カテゴリB』の……というようにしたいのです。

    「single.phpを複数作って……」という方法(↓)を見つけて、書いてあるように設定してみたのですが、やはり混ざってしまいました。
    single9.phpやsingle5.phpを作って、その中身は元のsingle.phpの/* */ 部分を Template name: カテゴリAの名前 にし、他は元の single.php のまま。
    ───single.phpの中身──────────────────────

    <?php
      $post = $wp_query->post;
      if ( in_category('9') ) {
      include(TEMPLATEPATH . '/single9.php');
      } elseif ( in_category('11') ) {
      include(TEMPLATEPATH . '/single9.php');
         ──中略──
      } elseif ( in_category('5') ) {
      include(TEMPLATEPATH . '/single5.php');
        }
    ?>

    ────────────────────────────────
    なにぶん手探りで試しているので、どこが悪かったのかよく分かりません。
    すいませんが、どこをどうしたら良いのか教えていただけないでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは、

    重箱の隅をほじくるような事ですが、

     
    } elseif ( in_category('11') ) {
      include(TEMPLATEPATH . '/single9.php');

    書き間違いですか?

    トピック投稿者 taka_fumi

    (@taka_fumi)

    nobitaさん、こんにちは
    ご質問ありがとうございます。

    書き間違いではないのですが……もしかして、例えば

    ID11用に single11.php Template name: カテゴリ11の名前
      include(TEMPLATEPATH . ‘/single11.php’);

    ID12用に single12.php Template name: カテゴリ12の名前
      include(TEMPLATEPATH . ‘/single12.php’);

    というように作ればうまくいったのでしょうか?

    previous_post_link

    next_post_link

    を見てください。

    パラメータ

    in_same_cat
    (論理値) 表示している記事と同じカテゴリーの次の記事を表示するかどうかを設定します。TRUE の場合、同じカテゴリーの記事だけが表示されます

    トピック投稿者 taka_fumi

    (@taka_fumi)

    nobitaさん、ありがとうございます!!
    てっきりページを分けるしかないんだろうと思っていたので、post_linkのところを確認していませんでした。

    <?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentyten' ) . '</span> %title' , in_same_cat ); ?>
    <?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '→', 'Next post link', 'twentyten' ) . '</span>' , in_same_cat ); ?>

    single.phpのpreとnextの部分をこのように設定して希望通りになりました。
    本当にありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「選択したカテゴリごとに単一記事を表示したい」には新たに返信することはできません。