サポート » 使い方全般 » 年別アーカイブのタイトル一覧表示

  • 解決済 shin-1

    (@shin-1)


    現在サイドバーのアーカイブ表示は年別表示にしています。この年別リンクをクリックするとメインページにはすべての記事が取得されてしまいます。
    クリックすると、まずはその年に書かれたタイトル一覧が表示されて、記事を選択できるようにしたいのですが、どうすればよいのでしょうか。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • mizube

    (@mizube)

    テーマのテンプレートに年別アーカイブ用のテンプレートファイル year.php を作成し、そのテンプレートの中身をタイトル一覧が表示されるように記述すれば OK です。

    修正の例としては、もしお使いのテーマに archive.php または date.php があるようでしたら (なければ index.php) 、その中身を year.php にコピーアンドペーストし、 WordPress ループ (=記事のループ) の部分を以下のように修正します。

    <?php if (have_posts()) : ?>
    <dl class="archives">
    <?php while (have_posts()) : the_post(); ?>
    <?php the_date( $date_format, '<dt>', '</dt>' . "\n" ); ?>
    <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
    <?php endwhile; ?>
    </dl>
    <?php else: ?>
    <p>指定された年度の投稿はありません。</p>
    <?php endif; ?>

    year.php を作成したくない場合は、年別アーカイブで使用されているテンプレートファイル (date.php > archive.php > index.php) を以下のように場合分けします。

    <?php if ( is_year() ) : ?>
    <!-- ここに上記のループ -->
    <?php else : ?>
    <!-- ここに元々のループ -->
    <?php endif; ?>
    トピック投稿者 shin-1

    (@shin-1)

    mizubeさん、アドバイスありがとうございます。
    ところが教えられた1番目の方法でやってみたのですが、一覧が取得されませんで
    いまだ全記事が表示されてしまいます。
    year.phpの中身です。

    <?php get_header(); ?>
    <div id=”content”>
    <?php if (have_posts()) : ?>
    <dl class=”archives”>
    <?php while (have_posts()) : the_post(); ?>
    <?php the_date( $date_format, ‘<dt>’, ‘</dt>’ . “\n” ); ?>
    <dd>“><?php the_title(); ?></dd>
    <?php endwhile; ?>
    </dl>
    <?php else: ?>
    <p>指定された年度の投稿はありません。</p>
    <?php endif; ?>
    </div><!–/content –>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    トピック投稿者 shin-1

    (@shin-1)

    上記コードでリンクされた<dd>”><?php the_title(); ?></dd>は、実際は↓の通りです。
    <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>

    トピック投稿者 shin-1

    (@shin-1)

    year.phparchive.phpに名前を変えたところ、目的は達成できました。
    ありがとうございました!

    mizube

    (@mizube)

    ごめんなさい、誤った情報をお伝えしてしまっていたようです。年 (月日) 別アーカイブ用のテンプレートはそもそも存在しないようです。 year.php, month.php, day.php というのは当然用意されているものだと勘違いしていました。ご迷惑をお掛けしました。

    しかしながらご自分で解決されたようですので良かったです。

    申し訳ないので、一つお節介をさせてください。 shin@ さんが作成された archive.php の内容は、カテゴリー別アーカイブやタグ別アーカイブの場合にも適用されますので、日付別アーカイブの場合のみ上記のテンプレートを適用させたいという場合は、 is_year() で場合分けをするか、 archive.php を date.php にリネームしてください。 date.php は存在しますのでご安心を:-)

    トピック投稿者 shin-1

    (@shin-1)

    mizubeさん、ご丁寧にありがとうございます。
    実は以前、こちらでカテゴリ別アーカイブの表示を変える方法をご伝授いただき、
    http://ja.forums.wordpress.org/topic/1747?replies=4
    category.phpを作成していましたので、実害はないのですが、
    よくよく考えると、index.phpに全て集約できるということでしょうか。
    ちょっと挑戦してみます。

    japangrjp

    (@japangrjp)

    今回のお問い合わせされました、サイドバーにタイトル一覧を表示する内容とは異なりますが
    下記プラグインにて履歴情報としてページに表記する方法を利用しております
    こちらの方法でもご利用をご検討されてはいかがかと存じます
    こちらのurlにてpuginを利用しております

    http://www.rotary.ne.jp/setorc/archive
    ご参考まで
    pluguinは
    —————————-
    Simple Yearly Archive Plugin
    —————————
    urlは
    ——————————–
    http://www.schloebe.de/wordpress/simple-yearly-archive-plugin/
    ——————————-

    kamekopapa

    (@kamekopapa)

    はじめまして。ちょっと気になることがあり、ご質問させて頂きました。
    こちらで年別の記事をアーカイブで という記事を拝見して思ったのですが、

    例えば年別の記事をアーカイブで表示させ、
    その年度が2010であるとして、

    [前の年へ] [次の年へ] というナビゲーションは

    どうやって記述するのが良いのでしょうか?

    恐れ入りますがお教えいただけますでしょうか?

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    >kamekopapaさん

    2年前のフォーラム記事で新たに質問をしても回答がつかない可能性が高いです。
    こういった場合は新たにトピックを作成し、このページのリンクを貼ってください。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「年別アーカイブのタイトル一覧表示」には新たに返信することはできません。