サポート » 使い方全般 » 一覧ページで特定カテゴリのみ表示件数を変更したい

  • 解決済 ikesu

    (@ikesu)


    アーカイブ(カテゴリページ)に表示される一覧の件数を特定カテゴリのみ変更したいと思っています。

    実現したいこと
    カテゴリ一覧ページの表示件数を
    カテゴリ「51」と「52」と「54」は25件
    そのほかのカテゴリの表示件数は50件にしたいです。

    やってみたこと
    設定→表示設定でそのほかのカテゴリの記事数を50件表示させてfunctionsに下記のコードを追加しました。

    function twpp_change_posts_per_page( $query ) {
      if ( is_admin() || ! $query->is_main_query() ) {
        return;
      }
      if ( $query->is_category( array(51,52,54)) ) {
        $query->set( 'posts_per_page', 2 );
      }
    }
    add_action( 'pre_get_posts', 'twpp_change_posts_per_page' );

    この方法では親カテゴリの51だけ表示件数が適応され、子、孫カテゴリには反映されませんでした。
    そのほかのカテゴリは50件表示されます。

    もう一つは

    function twpp_change_posts_per_page( $query ) {
      if ( is_admin() || ! $query->is_main_query() ) {
        return;
      }
      if ( $query->is_category() ) {
    $query->set( 'posts_per_page', '25');
    $query->set( 'cat', '51');
    $query->set( 'cat', '52');
    $query->set( 'cat', '54');
      }
    }
    add_action( 'pre_get_posts', 'twpp_change_posts_per_page' );

    この方法では指定したカテゴリ(51,52,54)は上手く件数分の表示ができましたが、その他のカテゴリでは記事が見つかりませんでしたになり表示が0件になります。

    特定カテゴリの表示件数を指定した上で、その他のカテゴリは表示設定の件数を表示させるにはどのようにすれば良いでしょうか?
    よろしくお願いします。

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

    (@ikesu)

    上のコードが2件になっていますが25件の誤りです。
    ほかの方法でもかまいませんので特定のカテゴリのみ表示件数を変更することはできないでしょうか。

    よろしくおねがいします。

    천궁 메텔

    (@digitmaetel)

    固定ページで、指定したカテゴリーを任意の数でリストすることは容易ですよね。だから、「アーカイヴページで」って、ところははっきりした方がよろしいでしょう。

    トピック投稿者 ikesu

    (@ikesu)

    返信ありがとうございます

    おっしゃられる通りアーカイヴの一覧ページです。
    archive.phpの表示件数を特定のカテゴリのみ変更するカスタマイズになると思います。
    よろしくおねがいします。

    ishitaka

    (@ishitaka)

    提示されている最初の方のコードで、51、52および54のカテゴリー ID のカテゴリーアーカイブページの表示件数が変更されると思います。

    親カテゴリの51だけ表示件数が適応され、子、孫カテゴリには反映されませんでした。

    こちらは、親カテゴリーが51、子が52(または54)、孫が54(または52)のカテゴリー ID ということでしょうか?

    トピック投稿者 ikesu

    (@ikesu)

    返信ありがとうございます

    上記のコードでアーカイブページの表示件数が変更されるはずと教えていただき、まさかと思いプラグインを全停止したところ思うような表示件数になりました。

    表示件数がおかしくなる原因は「Top Level Categories」というアドレスの/category/を消すプラグインを使用したときに発生するようです。これは「FV Top Level Categories」に変更することで解決しました。

    ちなみに親カテゴリーが51、子が52、孫が54です。
    質問に不備があり申し訳ありません。

    重大なヒントを与えてくださりありがとうございました。
    解決済みにさせていただきます。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「一覧ページで特定カテゴリのみ表示件数を変更したい」には新たに返信することはできません。