WordPress.org

Make WordPress Core

Ticket #16166: 16166.diff

File 16166.diff, 4.9 KB (added by nacin, 3 years ago)
  • wp-admin/edit-comments.php

     
    3737        $approved = $unapproved = $spammed = $unspammed = $trashed = $untrashed = $deleted = 0; 
    3838 
    3939        $redirect_to = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids' ), wp_get_referer() ); 
    40         $redirect_to = add_query_arg( 'paged', $pagenum, $redirect_to ); 
     40        $redirect_to = $wp_list_table->add_query_args( $redirect_to ); 
    4141 
    4242        foreach ( $comment_ids as $comment_id ) { // Check the permissions on each 
    4343                if ( !current_user_can( 'edit_comment', $comment_id ) ) 
  • wp-admin/includes/class-wp-list-table.php

     
    614614                $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); 
    615615                return count( $columns ) - count( $hidden ); 
    616616        } 
     617         
     618        function get_order_info() { 
     619                $current_orderby = isset( $_GET['orderby'] ) ? $_GET['orderby'] : ''; 
    617620 
     621                if ( ! $current_orderby ) 
     622                        $current_order = ''; 
     623                elseif ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) 
     624                        $current_order = 'desc'; 
     625                else 
     626                        $current_order = 'asc'; 
     627 
     628                return array( $current_orderby, $current_order ); 
     629        } 
     630         
     631        function add_query_args( $location ) { 
     632                $pagenum = $this->get_pagenum(); 
     633                list( $current_orderby, $current_order ) = $this->get_order_info(); 
     634                $location = add_query_arg( 'paged', $pagenum, $location ); 
     635                if ( $current_orderby ) 
     636                        $location = add_query_arg( array( 'orderby' => $current_orderby, 'order' => $current_order ), $location ); 
     637 
     638                return $location; 
     639        } 
     640 
    618641        /** 
    619642         * Print column headers, accounting for hidden and sortable columns. 
    620643         * 
     
    630653 
    631654                $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
    632655 
    633                 if ( isset( $_GET['orderby'] ) ) 
    634                         $current_orderby = $_GET['orderby']; 
    635                 else 
    636                         $current_orderby = ''; 
     656                list( $current_orderby, $current_order ) = $this->get_order_info(); 
    637657 
    638                 if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) 
    639                         $current_order = 'desc'; 
    640                 else 
    641                         $current_order = 'asc'; 
    642  
    643658                foreach ( $columns as $column_key => $column_display_name ) { 
    644659                        $class = array( 'manage-column', "column-$column_key" ); 
    645660 
     
    733748         * @access protected 
    734749         */ 
    735750        function display_tablenav( $which ) { 
    736                 if ( 'top' == $which ) 
     751                if ( 'top' == $which ) { 
    737752                        wp_nonce_field( 'bulk-' . $this->_args['plural'] ); 
     753                        list( $current_orderby, $current_order ) = $this->get_order_info(); 
     754                        echo '<input type="hidden" name="orderby" value="' . esc_attr( $current_orderby ) . '" /><input type="hidden" name="order" value="' . esc_attr( $current_order ) . '" />'; 
     755                } 
    738756?> 
    739757        <div class="tablenav <?php echo esc_attr( $which ); ?>"> 
    740758 
  • wp-admin/edit-tags.php

     
    7878 
    7979        wp_delete_term( $tag_ID, $taxonomy ); 
    8080 
     81        $location = $wp_list_table->add_query_args( $location ); 
    8182        $location = add_query_arg( 'message', 2, $location ); 
    8283        wp_redirect( $location ); 
    8384        exit; 
     
    104105        } 
    105106 
    106107        $location = add_query_arg( 'message', 6, $location ); 
     108        $location = $wp_list_table->add_query_args( $location ); 
    107109        wp_redirect( $location ); 
    108110        exit; 
    109111 
  • wp-admin/js/list-table.dev.js

     
    122122                if ( 'object' != typeof response ) { 
    123123                        this.handle_error(); 
    124124                } else { 
    125                         var tablenav = $('.tablenav-pages'); 
     125                        var tablenav = $('.tablenav-pages'), 
     126                                order = $.query.GET('order'), 
     127                                orderby = order ? $.query.GET('orderby') : ''; 
    126128 
    127129                        this.stop_loading(); 
    128130 
     
    144146                        tablenav.find('.first-page, .prev-page').toggleClass('disabled', 1 == $.query.GET('paged')); 
    145147                        tablenav.find('.next-page, .last-page').toggleClass('disabled', response.total_pages == $.query.GET('paged')); 
    146148 
     149                        $('input[name=order]').val(order); 
     150                        $('input[name=orderby]').val(orderby); 
     151 
    147152                        $('th.column-cb :input').attr('checked', false); 
    148153 
    149154                        if ( history.replaceState ) { 
  • wp-admin/edit.php

     
    4141        check_admin_referer('bulk-posts'); 
    4242 
    4343        $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() ); 
    44         $sendback = add_query_arg( 'paged', $pagenum, $sendback ); 
     44        $sendback = $wp_list_table->add_query_args( $sendback ); 
    4545        if ( strpos($sendback, 'post.php') !== false ) 
    4646                $sendback = admin_url($post_new_file); 
    4747