WordPress.org

Make WordPress Core

Ticket #15970: 15970.3.diff

File 15970.3.diff, 4.8 KB (added by SergeyBiryukov, 7 years ago)

With @access private

  • wp-admin/edit-tags.php

     
    4242        $submenu_file = "edit-tags.php?taxonomy=$taxonomy";
    4343}
    4444
    45 add_screen_option( 'per_page', array('label' => $title, 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page') );
     45add_screen_option( 'per_page', array('label' => $title, 'default' => 20, 'option' => _convert_key_to_option( 'edit_' . $tax->name . '_per_page' ) ) );
    4646
    4747switch ( $wp_list_table->current_action() ) {
    4848
  • 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

     
    9494
    9595                $total_items = $this->hierarchical_display ? $wp_query->post_count : $wp_query->found_posts;
    9696
    97                 $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' );
     97                $per_page = $this->get_items_per_page( _convert_key_to_option( 'edit_' . $post_type . '_per_page' ) );
    9898                $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type );
    9999
    100100                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.3.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
     
    330342                if ( !preg_match( '/^[a-z_-]+$/', $option ) )
    331343                        return;
    332344
    333                 $option = str_replace('-', '_', $option);
     345                $option = _convert_key_to_option( $option );
    334346
    335347                $map_option = $option;
    336348                $type = str_replace('edit_', '', $map_option);
    337349                $type = str_replace('_per_page', '', $type);
    338                 if ( in_array($type, get_post_types()) )
     350                if ( in_array( $type, array_map( '_convert_key_to_option', get_post_types() ) ) )
    339351                        $map_option = 'edit_per_page';
    340                 if ( in_array( $type, get_taxonomies()) )
     352                if ( in_array( $type, array_map( '_convert_key_to_option', get_taxonomies() ) ) )
    341353                        $map_option = 'edit_tags_per_page';
    342354
    343355
  • 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

     
    881881
    882882                $option = $this->get_option( 'per_page', 'option' );
    883883                if ( ! $option )
    884                         $option = str_replace( '-', '_', "{$this->id}_per_page" );
     884                        $option = _convert_key_to_option( "{$this->id}_per_page" );
    885885
    886886                $per_page = (int) get_user_option( $option );
    887887                if ( empty( $per_page ) || $per_page < 1 ) {