サポート » 使い方全般 » 年度別の新着情報を動的に生成したい

  • 解決済 skunk0915

    (@skunk0915)


    こんにちは。下記のようなコードで最新の投稿の日付とタイトルをリストとして出力しているのですが、たとえばこれを2012年の最新5件、2011年の最新5件というように年度を限定して呼び出すことはできるでしょうか?

    <table>
    			<?php $posts = get_posts('numberposts=99&order=desc');
    			foreach($posts as $post): ?>
    			<tr>
    				<th><?php echo date("Y.m.d", strtotime($post->post_date)); ?></th>
    				<td><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
    			</tr>
    			<?php endforeach; ?>
    		</table>
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    未検証:2012年の最新5件
    get_posts('year=2012&posts_per_page=5);

    トピック投稿者 skunk0915

    (@skunk0915)

    ありがとうございます。教えていただいた方法でできたんですが…、
    その後 カスタム投稿タイプで投稿した記事を年度別に分ける必要が出てきました。
    複合(カスタム投稿タイプに絞り込む&年度で絞り込む)というのはできるんでしょうか?

    元のタグは

    `<?php query_posts( $args ); ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post();
    /* ループ開始 */ ?>
    <li>
    <a href=”<?php the_permalink(); ?>”><?php the_title(); ?>(<?php the_time(“Y.m.j”) ?>アップ)</a>
    </li>
    <?php endwhile; ?>
    <?php else : ?>
    <th>記事がありません</th>
    <td>表示する記事はありませんでした。</td>
    <?php endif; ?>`

    で、ここの情報を元に

    <?php query_posts( $args ); ?>

    <?php query_posts( $args."&year=2010" ); ?>
    と記述してみたんですが、どうやらカスタム投稿タイプではないデフォルトの投稿(post)から絞り込んでいるような結果が出ます。

    何かお分かりの方ご協力お願いいたします。

    post_type引数にカスタム投稿タイプの名前を指定すれば特定のカスタム投稿の記事のみ抽出することが出来ますよ。

    <?php
    $args = array(
    	'year'  => 2010,
    	'post_type' => 'custom_post_type',
    	'posts_per_page' => -1
    );
    query_posts($args);
    ?>

    トピック投稿者 skunk0915

    (@skunk0915)

    ああっ、カスタム投稿タイプのときはここにまとめて書くんですか!
    できました!感動です!ありがとうございました!!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「年度別の新着情報を動的に生成したい」には新たに返信することはできません。