WordPress.org

Make WordPress Core

Ticket #18958: 18958.3.patch

File 18958.3.patch, 4.9 KB (added by SergeyBiryukov, 4 years ago)
  • wp-admin/edit-tags.php

     
    3636        $submenu_file = "edit-tags.php?taxonomy=$taxonomy"; 
    3737} 
    3838 
    39 add_screen_option( 'per_page', array('label' => $title, 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page') ); 
     39add_screen_option( 'per_page', array('label' => $title, 'default' => 20, 'option' => _convert_key_to_option( 'edit_' . $tax->name . '_per_page' ) ) ); 
    4040 
    4141switch ( $wp_list_table->current_action() ) { 
    4242 
  • wp-admin/includes/class-wp-plugins-list-table.php

     
    130130                        uasort( $this->items, array( &$this, '_order_callback' ) ); 
    131131                } 
    132132 
    133                 $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 ); 
     133                $plugins_per_page = $this->get_items_per_page( _convert_key_to_option( $screen->id . '_per_page' ), 999 ); 
    134134 
    135135                $start = ( $page - 1 ) * $plugins_per_page; 
    136136 
  • wp-admin/includes/class-wp-posts-list-table.php

     
    8888                $total_items = $this->hierarchical_display ? $wp_query->post_count : $wp_query->found_posts; 
    8989 
    9090                $post_type = $post_type_object->name; 
    91                 $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' ); 
     91                $per_page = $this->get_items_per_page( _convert_key_to_option( 'edit_' . $post_type . '_per_page' ) ); 
    9292                $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type ); 
    9393 
    9494                if ( $this->hierarchical_display ) 
  • wp-admin/includes/class-wp-terms-list-table.php

     
    4242        function prepare_items() { 
    4343                global $taxonomy; 
    4444 
    45                 $tags_per_page = $this->get_items_per_page( 'edit_' . $taxonomy . '_per_page' ); 
     45                $tags_per_page = $this->get_items_per_page( _convert_key_to_option( 'edit_' .  $taxonomy . '_per_page' ) ); 
    4646 
    4747                if ( 'post_tag' == $taxonomy ) { 
    4848                        $tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page ); 
  • wp-admin/includes/misc.php

     
    313313} 
    314314 
    315315/** 
     316 * Convert a key to an appropriate option name. 
     317 * 
     318 * @since 3.4.0 
     319 * @access private 
     320 * 
     321 * @param string $key A key to convert, e.g. "edit_{$post_type}_per_page". 
     322 * @return string Option name. 
     323 */ 
     324function _convert_key_to_option( $key ) { 
     325        return str_replace( '-', '_', $key ); 
     326} 
     327 
     328/** 
    316329 * Saves option for number of rows when listing posts, pages, comments, etc. 
    317330 * 
    318331 * @since 2.8 
     
    330343                if ( !preg_match( '/^[a-z_-]+$/', $option ) ) 
    331344                        return; 
    332345 
    333                 $option = str_replace('-', '_', $option); 
     346                $option = _convert_key_to_option( $option ); 
    334347 
    335348                $map_option = $option; 
    336349                $type = str_replace('edit_', '', $map_option); 
    337350                $type = str_replace('_per_page', '', $type); 
    338                 if ( in_array($type, get_post_types()) ) 
     351                if ( in_array( $type, array_map( '_convert_key_to_option', get_post_types() ) ) ) 
    339352                        $map_option = 'edit_per_page'; 
    340                 if ( in_array( $type, get_taxonomies()) ) 
     353                if ( in_array( $type, array_map( '_convert_key_to_option', get_taxonomies() ) ) ) 
    341354                        $map_option = 'edit_tags_per_page'; 
    342355 
    343356                switch ( $map_option ) { 
  • wp-admin/includes/post.php

     
    871871        elseif ( isset($q['post_status']) && 'pending' == $q['post_status'] ) 
    872872                $order = 'ASC'; 
    873873 
    874         $per_page = 'edit_' . $post_type . '_per_page'; 
     874        $per_page = _convert_key_to_option( 'edit_' . $post_type . '_per_page' ); 
    875875        $posts_per_page = (int) get_user_option( $per_page ); 
    876876        if ( empty( $posts_per_page ) || $posts_per_page < 1 ) 
    877877                $posts_per_page = 20; 
  • wp-admin/includes/screen.php

     
    910910 
    911911                $option = $this->get_option( 'per_page', 'option' ); 
    912912                if ( ! $option ) 
    913                         $option = str_replace( '-', '_', "{$this->id}_per_page" ); 
     913                        $option = _convert_key_to_option( "{$this->id}_per_page" ); 
    914914 
    915915                $per_page = (int) get_user_option( $option ); 
    916916                if ( empty( $per_page ) || $per_page < 1 ) {