• evijp

    (@evijp)


    「works」というカスタム投稿タイプ記事一覧のページ送りをしたいのですが、ページ送りを付けると、2ページめのURLが http://***/page/2/ となり、Not foundになってしまいます。
    手動で http://***/works/page/2/ とURLを打ち込むと正常に表示され、ページ送りも動作しています。
    記事一覧ページのURLを http://***/works/ とすれば正常に動くのですが、フロントページでページ送りを動作させる方法はありますでしょうか。

    テンプレートへの記述は下記のとおりです。index.phpに記述しました。

    <?php $paged = get_query_var('paged'); ?>
    <?php query_posts( array( 'post_type' => 'works',
    'posts_per_page' => 6,
    'paged' => $paged
    )); ?>
    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    
    //中略
    
    <?php endwhile; endif; ?>
    
    <?php global $wp_rewrite;
    $paginate_base = get_pagenum_link(1);
    if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){
    $paginate_format = '';
    $paginate_base = add_query_arg('paged','%#%');
    }
    else{
    $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') .
    user_trailingslashit('page/%#%/','paged');;
    $paginate_base .= '%_%';
    }
    echo paginate_links(array(
    'base' => $paginate_base,
    'format' => $paginate_format,
    'total' => $wp_query->max_num_pages,
    'mid_size' => 6,
    'current' => ($paged ? $paged : 1),
    'prev_text' => '< 前へ',
    'next_text' => '次へ >',
    )); ?>

    参考:カスタム投稿タイプのページングをする – WordPressのメモ

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • nobita

    (@nobita)

    こんにちは

    ページングは、javascriptにまかせることもできるようなので

    http://tenman.info/labo/snip/templates/the-loop/javascript-pagenation

    試してみてはどうでしょうか?

    yousan

    (@hogetan)

    paginate_linksは大変ですよね。
    自分のサイトでも似たURLですので、現在動いているpaginate_linksの引数を掲載しますね。
    evijpのケースもこのコードで動くだろう、というわけでは無いので参考までにどうぞ。

    $args = array(
        'base' => add_query_arg( 'paged', '%#%' ),
        'format' => '',
        //'format' => 'page/%#%/',
        'total' => $wp_query->max_num_pages,
        'mid_size' => 3,
        'current' => ($paged ? $paged : 1),
        'type' => 'list',
        'prev_next' => true,
        'prev_text' => '&laquo;前へ',
        'next_text' => '次へ&raquo;'
    
    );
    echo paginate_links( $args );
2件の返信を表示中 - 1 - 2件目 (全2件中)

トピック「フロントページで、カスタム投稿タイプ記事一覧のページ送りをしたい」には新たに返信することはできません。