WordPress.org

Make WordPress Core

Ticket #16214: garyc40.16214.2.diff

File garyc40.16214.2.diff, 2.6 KB (added by garyc40, 3 years ago)

don't use output buffering

  • wp-admin/includes/template.php

    diff --git wp-admin/includes/template.php wp-admin/includes/template.php
    index d9790be..f089c45 100644
    function wp_comment_trashnotice() { 
    419419 * @param unknown_type $meta 
    420420 */ 
    421421function list_meta( $meta ) { 
    422         // Exit if no meta 
    423         if ( ! $meta ) { 
    424                 echo ' 
    425 <table id="list-table" style="display: none;"> 
    426         <thead> 
    427         <tr> 
    428                 <th class="left">' . __( 'Name' ) . '</th> 
    429                 <th>' . __( 'Value' ) . '</th> 
    430         </tr> 
    431         </thead> 
    432         <tbody id="the-list" class="list:meta"> 
    433         <tr><td></td></tr> 
    434         </tbody> 
    435 </table>'; //TBODY needed for list-manipulation JS 
    436                 return; 
    437         } 
    438422        $count = 0; 
     423        $rows = ''; 
     424 
     425        if ( ! empty( $meta ) ) { 
     426                foreach ( $meta as $entry ) 
     427                        $rows .= _list_meta_row( $entry, $count ); 
     428        } 
    439429?> 
    440 <table id="list-table"> 
     430<table id="list-table"<?php echo ( $count == 0 ) ? ' style="display:none;"' : ''; ?>> 
    441431        <thead> 
    442432        <tr> 
    443433                <th class="left"><?php _e( 'Name' ) ?></th> 
    function list_meta( $meta ) { 
    445435        </tr> 
    446436        </thead> 
    447437        <tbody id='the-list' class='list:meta'> 
    448 <?php 
    449         foreach ( $meta as $entry ) 
    450                 echo _list_meta_row( $entry, $count ); 
    451 ?> 
     438<?php echo $rows; ?> 
    452439        </tbody> 
    453440</table> 
    454441<?php 
    function _list_meta_row( $entry, &$count ) { 
    467454        static $update_nonce = false; 
    468455        if ( !$update_nonce ) 
    469456                $update_nonce = wp_create_nonce( 'add-meta' ); 
    470  
    471         $r = ''; 
    472         ++ $count; 
    473         if ( $count % 2 ) 
    474                 $style = 'alternate'; 
    475         else 
    476                 $style = ''; 
    477         if ('_' == $entry['meta_key'] { 0 } ) 
    478                 $style .= ' hidden'; 
    479  
     457         
    480458        if ( is_serialized( $entry['meta_value'] ) ) { 
    481459                if ( is_serialized_string( $entry['meta_value'] ) ) { 
    482460                        // this is a serialized string, so we should display it 
    483461                        $entry['meta_value'] = maybe_unserialize( $entry['meta_value'] ); 
    484462                } else { 
    485                         // this is a serialized array/object so we should NOT display it 
    486                         --$count; 
    487463                        return; 
    488464                } 
    489465        } 
     466         
     467        $r = ''; 
     468        $style = ''; 
     469        if ('_' == $entry['meta_key'] { 0 } ) { 
     470                $style .= ' hidden'; 
     471        } else { 
     472                ++ $count; // only increase count if the row is visible 
     473                if ( $count % 2 ) 
     474                        $style .= ' alternate'; 
     475        } 
    490476 
    491477        $entry['meta_key'] = esc_attr($entry['meta_key']); 
    492478        $entry['meta_value'] = esc_textarea( $entry['meta_value'] ); // using a <textarea /> 
  • wp-admin/js/post.dev.js

    diff --git wp-admin/js/post.dev.js wp-admin/js/post.dev.js
    index 1c39edf..d5e86d0 100644
    jQuery(document).ready( function($) { 
    335335                        s.data += '&post_id=' + $('#post_ID').val(); 
    336336                        return s; 
    337337                } 
     338                }).bind('wpListDelEnd', function(){ 
     339                        var tbody = $('#the-list'); 
     340                        if (tbody.find('tr:visible').length == 0) { 
     341                                tbody.parent().hide(); 
     342                        } 
    338343                }); 
    339344        } 
    340345