カスタム投稿のアーカイブページの表示数の設定
WordPressのテーマで Lightning を利用していますが制作実績をプラグインを利用してカスタム投稿タイプで"work"(slug名)を作成しました。
テンプレートファイルとしてarchive-work.phpを作成してカスタム投稿の一覧を表示することを意図しました。
※テンプレート階層の以下の位置です。

投稿の表示数をブログと変えたかったのですが、Wordpressの既定の値が上書きされ上手く行きませんでした。
「設定」⇒「表示設定」⇒「1ページに表示する最大投稿数」の値
悪戦苦闘しましたが最終的にはLightning-childのfunctions.phpに以下のコードを追加することで、ポストタイプ"work"のアーカイブ一覧だけの表示数を制御できるようになりました。
// カスタム投稿タイプのworkのアーカイブページの投稿数を5件に設定
add_action('pre_get_posts', function($query) {
if ( !is_admin() && $query->is_main_query() && is_post_type_archive('work') ) {
$query->set('posts_per_page', 5);
}
});
メインクエリーの中でポストタイプが"work"のものだけ投稿数を5件に変更できました。