• 解決済 dkknmr

    (@dkknmr)


    現在、ワードプレスを用いてサイトを制作しております。

    その中で、一つ質問が御座います。

    一つのカテゴリーページに3つしか、記事が表示されません。
    そして、ページ送りになってしまいます。

    http://example.com/?cat=1

    4つ目の記事を表示する際には、下記のようになってしまいます。

    http://example.com/?cat=1&paged=2

    これを、一つのページにこちらで指定した数表示をしたいと思っています。

    どうすれば、宜しいのでしょうか?

    最も簡単な方法をご教授頂きたく宜しくお願い致します!

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • 設定-表示設定-1ページに表示する最大投稿数
    を好きな数字に変えてもだめですか?

    トピック投稿者 dkknmr

    (@dkknmr)

    xxxx7さん

    連絡ありがとう御座います。

    上記の方法ですと、
    トップページ(index.php)まで、変更されてしまい、
    形が崩されてしまうんです。

    どうしたら良いのでしょう?

    表示設定から変更を行い、
    トップページのカテゴリーだけ表示設定で設定した数値と
    違うようにするにはどうすれば良いのでしょうか?

    モデレーター gatespace

    (@gatespace)

    こんにちは。

    個人的には、よく使う(共通で使う)表示数はxxxx7のおっしゃるように
    設定>表示設定>1ページに表示する最大投稿数
    で指定しておいて、「それ以外」のページの表示件数をコードで書き換えた方が良いと思います。
    (今回の場合はトップページ「のみ」は3件にする)

    やり方は色々ありますが、最近だと is_main_query を使うのがスマートです。

    トピック投稿者 dkknmr

    (@dkknmr)

    gatespaceさん

    ありがとう御座います。
    仰るとおり、表示設定で、指定した後、該当箇所のみコードを書き加えるという形ですが、
    貼って頂いたURLを基に、試行錯誤したのですが、どうしても
    上手くいきませんでした。

    因みにコードですが、

    <?php if (have_posts(3)) : query_posts(array('cat'=>11)); ?>
    <?php while (have_posts()) : the_post();
    	$tmp_title = the_title('','',false);
    	if(mb_strlen($tmp_title)>12) {
    		$tmp_title = mb_substr($tmp_title,0,12).'...';
    	}
    ?>

    上記の部分が該当する箇所なのですが、どの部分を修正する必要があるのでしょうか?

    テーマフォルダの functions.php に以下を貼付ければ OK◎

    <?php
    add_action( 'pre_get_posts', 'my_pre_get_posts' );
    function my_pre_get_posts( $query ) {
      if ( $query->is_main_query() && ! is_admin() ) {
        if ( is_category( 1 ) ) { // カテゴリー ID=1のアーカイブなら、、、
          $query->set( 'posts_per_page', 5 ); // 表示したい件数を指定する
        }
      }
    }
    ?>

    モデレーター gatespace

    (@gatespace)

    kzさんフォローありがとうございます。

    補足するとkzさんのコメントの通りにしていただいて、
    トップページのに使われているテンプレートのコードは元に戻してみてください。
    (とりあえず、今の書かれているコードはおかしいです)

    <?php
    	if (have_posts()) : // have_posts()で数字はいらない。あと、query_postsもいらない。
    		while (have_posts()) : the_post();
    			/* ループ内の記事の処理 */
    		endwhile; //ループ終わり
    	endif;
    ?>

    トピック投稿者 dkknmr

    (@dkknmr)

    皆様ありがとう御座います。返信が大変遅れてしまいまして申し訳ありません。
    解決したので、解決済みにしたいと思います。ご丁寧にありがとう御座いました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カテゴリーページに表示される記事の数の変更」には新たに返信することはできません。