Created
January 1, 2026 21:47
-
-
Save iandunn/3e6c9f6b0dde95bf5c68356007effe13 to your computer and use it in GitHub Desktop.
Show 120 items on WP admin screens instead of the default 20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| namespace AdminScreenItems; | |
| add_action( 'admin_init', __NAMESPACE__ . '\register_admin_screen_items_callback' ); | |
| /** | |
| * Register set_minimum_number_admin_screen_items to all admin screens. | |
| * | |
| * It's necessary to manually add it for each screen name because WP_Screen::render_per_page_options | |
| * doesn't have a generic filter. | |
| */ | |
| function register_admin_screen_items_callback() { | |
| $core_screens = [ | |
| 'edit_comments', | |
| 'upload', | |
| 'users', | |
| 'plugins', | |
| 'themes', | |
| 'edit_tags', | |
| 'export_personal_data_requests', | |
| 'remove_personal_data_requests', | |
| 'sites_network', | |
| 'users_network', | |
| 'site_users_network', | |
| 'plugins_network', | |
| 'themes_network', | |
| 'site_themes_network', | |
| 'comments', | |
| 'edit_categories', | |
| ]; | |
| $post_types = get_post_types( [], 'names' ); | |
| $taxonomies = get_taxonomies( [], 'names' ); | |
| $post_type_screens = array_map( fn( $post_type ) => "edit_{$post_type}", $post_types ); | |
| $taxonomy_screens = array_map( fn( $taxonomy ) => "edit_{$taxonomy}", $taxonomies ); | |
| $screen_hooks = array_merge( $core_screens, $post_type_screens, $taxonomy_screens ); | |
| foreach ( $screen_hooks as $hook ) { | |
| add_filter( "get_user_option_{$hook}_per_page", __NAMESPACE__ . '\set_minimum_number_admin_screen_items' ); | |
| } | |
| } | |
| /** | |
| * Admin screens should always show at least 120 items on each page. | |
| */ | |
| function set_minimum_number_admin_screen_items( $result ) { | |
| return max( 120, (int) $result ); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment