This free ClassicPress plugin was inspired by the abandoned WordPress plugin “Custom Posts Per Page” and allows you to set custom values for the number of posts shown per page for the various archive pages. It has been built from the ground up for ClassicPress and includes all the same features, with the addition of custom taxonomies (which were not catered for in the original plugin).
When installed, all values on the plugin’s settings page are zero, which means the number of posts per page will not be altered by the plugin. Setting any value to non-zero means the plugin will modify the main query for that item type.
You can have different values for page 1 and subsequent pages of any archive or taxonomy. So for example, you can make category archives show 5 posts on page 1 and 7 posts on page 2, page 3, page 4, etc. This is useful if you are styling page 1 differently from subsequent pages, perhaps to visually highlight the most recent post.
ZP Posts Per Page stores its own values and does NOT change the default option in the database, so deactivating the plugin will mean your archives immediately revert to showing the default number of posts per page.
ZP Posts Per Page also works with WordPress 4.9 and later.