• 解決済 spaci654

    (@spaci654)


    カスタム投稿タイプを、以下のブログを参考にして導入しました。
    http://webdesignrecipes.com/wordpress-conditional-tags-and-custom-post-type/#anc5

    自分は、カスタム投稿タイプだけを表示させるページを作りたかったので、
    ページテンプレートを作成し、

    <?php if(have_posts()): while(have_posts()): the_post(); ?>

    <?php endwhile; endif; ?>
    の間に、上記ブログを参考に

    <?php
    $loop = new WP_Query( array( 'post_type' => 'books', 'posts_per_page' => 10 ) );
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>
    
    <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
    <?php the_content(); ?>
    
    <?php endwhile; ?>
    
    <?php posts_nav_link('|', '<< BACK', 'NEXT >>'); ?>

    というコードを書きました。
    すると、投稿自体は無事表示されたのですが、表示される投稿数は5件、
    しかもposts_nav_linkによるページャーが表示されません。

    ※5件表示なのは、管理画面>設定>表示設定>1ページに表示する最大投稿数 を5件にしている為です。

    要点は2点です。

    ・1ページの表示件数を、管理画面の指定ではなく’posts_per_page’で指定した数字にすることは可能でしょうか?
    ・ページャーを表示させる為にはどうしたら良いでしょうか?

    もしかしたら、ページテンプレートに書いているから上手く動作しないのでしょうか。
    それであれば、カスタム投稿タイプだけを表示させるページの上手い作成方法をご指南いただければ幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 spaci654

    (@spaci654)

    すみません自己レスです。

    >・1ページの表示件数を、管理画面の指定ではなく’posts_per_page’で指定した数字にすることは可能でしょうか?

    これは、どうやら自分の記述ミスだったようで、ちゃんと10件表示されました。
    失礼致しました。

    しかしposts_nav_linkの方は未解決のままですので、お知恵を拝借できれば幸いです。

    $loop = new WP_Query( array( 'post_type' => 'books', 'posts_per_page' => 10 ) );
    の部分を

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $loop = new WP_Query( array( 'post_type' => 'books', 'posts_per_page' => 10, 'paged' => $paged ) );

    でどうでしょう?

    トピック投稿者 spaci654

    (@spaci654)

    ありがとうございました。
    提示いただいたそのままではダメだったので、手を加えて解決しました。

    まず、ループ用のコード

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    
    <?php endwhile; endif; ?>

    は削除。これを入れておくと、10件表示された後にまたループして同じ10件が繰り返し繰り返し表示されたので。。。

    次に$loop→$wp_queryに差し替えで、成功しました。

    WordPressは奥が深いですね。。。
    PHPももっと勉強します!

    度々ごめんなさい!!

    カスタム投稿の全体記事(page.php)と単一記事(single-(スラッグ).php)は
    ページングできるのですが

    アーカイブ一覧ページ(taxonomy-(スラッグ).php)においては
    同じ記述してもページングが表示されないのですが
    なぜだかわかりますか??

    ここのトピックスを参考にtaxonomy-(スラッグ).php記述したのですがうまくいかなくて。。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿タイプを表示する為のページに、ページャーを表示させたい」には新たに返信することはできません。