Make WordPress Core

Ticket #29171: 29171.2.patch

File 29171.2.patch, 1.5 KB (added by azaozz, 9 years ago)
  • src/wp-includes/class-wp-editor.php

     
    828828                        $settings['wpautop'] = false;
    829829                        $settings['indent'] = true;
    830830                        $settings['elementpath'] = false;
     831                        $settings['wp_pad_empty_elements'] = true;
    831832
    832833                        if ( is_rtl() ) {
    833834                                $settings['directionality'] = 'rtl';
  • src/wp-includes/js/tinymce/plugins/wordpress/plugin.js

     
    131131                                        '/>';
    132132                                } );
    133133                        }
     134
     135                        // Pad empty <span> and <a> that have attributes so they are not removed on cleanup.
     136                        if ( editor.settings.wp_pad_empty_elements && event.format !== 'raw' ) {
     137                                event.content = event.content.replace( /(<(a|span) [^>]+>)<\/\2>/gi, function( match, tag, tagName ) {
     138                                        return tag.concat( '<wbr data-wp-empty-element-padding="1" />', '</', tagName, '>' );
     139                                });
     140                        }
    134141                }
    135142        });
    136143
    … …  
    171178                                return string || image;
    172179                        });
    173180                }
     181
     182                // Remove the padding of empty elements.
     183                if ( editor.settings.wp_pad_empty_elements && event.format !== 'raw' ) {
     184                        event.content = event.content.replace( /<wbr data-wp-empty-element-padding="1" \/>/g, '' );
     185                }
    174186        });
    175187
    176188        // Display the tag name instead of img in element path