WordPress.org

Make WordPress Core

Ticket #44992: 44992.patch

File 44992.patch, 2.3 KB (added by abhijitrakas, 3 years ago)
  • wp-admin/includes/class-wp-screen.php

     
    11871187                <legend><?php _e( 'Pagination' ); ?></legend>
    11881188                        <?php if ( $per_page_label ) : ?>
    11891189                                <label for="<?php echo esc_attr( $option ); ?>"><?php echo $per_page_label; ?></label>
    1190                                 <input type="number" step="1" min="1" max="999" class="screen-per-page" name="wp_screen_options[value]"
     1190                                <?php
     1191                                /**
     1192                                 * Filters a screen option per page max value for html validation.
     1193                                 *
     1194                                 * Returning value to set as max allowed value for html validation
     1195                                 * of `Number of items per page` input field.
     1196                                 *
     1197                                 * @since 4.9.9
     1198                                 *
     1199                                 * @param int $max_value The value per page max value using for
     1200                                 * HTML validation.
     1201                                 */
     1202                                $max_value = apply_filters( 'screen_per_page_max_value', 999 );
     1203
     1204                                // to not allow user to set more than the default value.
     1205                                if ( empty( $max_value ) || $max_value < 0 || $max_value > 999 ) {
     1206                                        $max_value = 999;
     1207                                }
     1208
     1209                                ?>
     1210                                <input type="number" step="1" min="1" max="<?php echo esc_attr( $max_value ); ?>" class="screen-per-page" name="wp_screen_options[value]"
    11911211                                        id="<?php echo esc_attr( $option ); ?>" maxlength="3"
    11921212                                        value="<?php echo esc_attr( $per_page ); ?>" />
    11931213                        <?php endif; ?>
  • wp-admin/includes/misc.php

     
    630630                        case 'themes_network_per_page':
    631631                        case 'site_themes_network_per_page':
    632632                                $value = (int) $value;
    633                                 if ( $value < 1 || $value > 999 ) {
     633
     634                                /**
     635                                 * Filters a screen option per page value before it is set.
     636                                 *
     637                                 * The filter can also be used to restrict user to set max value
     638                                 * of `Number of items per page`.
     639                                 *
     640                                 * Returning value to set as `Number of items per page`.
     641                                 *
     642                                 * @since 4.9.9
     643                                 *
     644                                 * @param int $value The number of rows to use.
     645                                 */
     646                                $value = apply_filters( 'set_screen_option_per_page', $value );
     647
     648                                if ( empty( $value ) || $value < 1 || $value > 999 ) {
    634649                                        return;
    635650                                }
    636651                                break;