サポート » その他 » カスタム投稿のRSSを全件表示させたい

  • 解決済 brtu5y4

    (@slime0099)


    通常の投稿のRSS配信数は[設定]>[表示設定]で調整できるのですが、

    カスタム投稿のRSS配信数を変更するにはどうすると良いでしょうか?

    下記のコードを試していますが、全件表示されず、下記のpre_get_postsで指定した10件しか表示されません。

    add_action( ‘pre_get_posts’, ‘my_pre_get_posts’ );
    function my_pre_get_posts( $query ) {
    if ( is_admin() || ! $query -> is_main_query() ) return;

    if ( $query -> is_archive()) {
    if (is_feed()) {
    $query -> set( ‘posts_per_page’, ‘-1’ );
    }else{
    $query -> set( ‘posts_per_page’, ’10’ );
    }
    }

    }

    どなたか方法を存じませんでしょうか?
    宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • フィードの時は posts_per_page ではなく posts_per_rss が件数になります。管理画面の「1ページに表示する最大投稿数」が posts_per_page、「RSS/Atom フィードで表示する最新の投稿数」が posts_per_rss です。

    関数リファレンス/WP Query – WordPress Codex 日本語版
    の「ページ送りパラメータ」にある「posts_per_page」の説明を確認してください。

    トピック投稿者 brtu5y4

    (@slime0099)

    いつもお世話になっております。

    posts_per_rssというのがあるのですね!
    見落としておりましたm(__)m

    おかげ様で下記の通りにコードを変更しましたら表示件数がコントロールできました。

    感謝申し上げます!

    add_action( ‘pre_get_posts’, ‘my_pre_get_posts’ );
    function my_pre_get_posts( $query ) {
    if ( is_admin() || ! $query -> is_main_query() ) return;

    if ( $query -> is_archive()) {
    if (is_feed()) {
    $query -> set( ‘posts_per_rss’, ‘100’ );
    }else{
    $query -> set( ‘posts_per_page’, ’10’ );
    }
    }

    }

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿のRSSを全件表示させたい」には新たに返信することはできません。