• 解決済 jn0424

    (@jn0424)


    全記事一覧ページをページを作り、
    1ページあたりの表示数は5記事ずつとし、
    次の5件、前の5件といったようなページ送りを付けたいです。

    フォーラムの過去の投稿を参考にしながら、
    とりあえず全記事一覧のページを作りました。

    archive_all.phpという固定ページテンプレートを作り、
    固定ページに「archive」という空白ページを作成後archive_all.phpを適用しています。
    archive_all.phpの内容は以下となります。

    <?php
    /*
    Template Name: archive_all
    */
    ?>
    <?php get_header() ?>
    
    <h2 class="page-title"><?php the_title(); ?></h2>
    <div id="itiran">
    
    <?php
    $lastposts = get_posts('numberposts=5');
    foreach($lastposts as $post) :
        setup_postdata($post);
    ?>
    
    <li>
    <p class="date"><?php the_time('Y.m.d'); ?></p>
    <h3 class="title"><a href="<?php the_permalink(); ?>"><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a></h3>
    <p class="meta"><?php echo mb_substr(get_the_excerpt(), 0, 250); ?></p>
    <div id="next"><a href="<?php the_permalink(); ?>">この記事の続きを読む</a></div>
    </li>
    
    <?php endforeach; ?>
    
    <?php next_posts_link('次の5件へ»'); ?>
    <?php previous_posts_link('« 前の5件へ');?>
    
    </div>
    
    <?php get_sidebar(); ?>
    <?php get_footer() ?>

    このように記述しておりますが、
    ページ送りのリンクもうまく表示されず動作してくれません。

    どなたか詳しい方、宜しくお願い致します。

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

    動作確認してないですが、以下のような感じではどうですか?

    <?php
    $per_page = 20; //ページあたりの件数
    
    $query = get_query_var('paged');
    if($query == 0){
    	$start = 1;
    }else{
    	$start = ($query - 1) * $per_page + 1;
    }
    
    query_posts( 'post_status=publish&posts_per_page='.$per_page.'&paged='.$query );
    ?>
    
    <?php if (have_posts()) : ?>
    <ol start="<?php echo $start;?>" class="list-of-post">
    <?php while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a><p>
    <?php  edit_post_link( __( 'Edit', 'Raindrops' ), '<span>', '</span>' ); ?></li>
    <?php endwhile; ?>
    </ol>
    </div>
    <?php endif; ?>
    <div style="margin-top:1em">
    <div class="left">
    <?php next_posts_link( __('« Older Entries', 'Raindrops' ) ) ?>
    </div>
    <div class="right">
    <?php previous_posts_link( __('Newer Entries »', 'Raindrops' ) ) ?>
    </div>

    以下のページから、該当する部分抜き出してみたのですが、このような理解でいいですか?

    http://tenman.info/labo/snip/?page_id=1236

    トピック投稿者 jn0424

    (@jn0424)

    できました。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「全記事一覧ページのページ送りについて」には新たに返信することはできません。