diff --git a/src/wp-includes/js/quicktags.js b/src/wp-includes/js/quicktags.js index da57be1abf..872f4c8682 100644 --- a/src/wp-includes/js/quicktags.js +++ b/src/wp-includes/js/quicktags.js @@ -643,7 +643,7 @@ function edButton(id, display, tagStart, tagEnd, access) { edButtons[90] = new qt.TagButton('ol','ol','
','','c'),
- edButtons[120] = new qt.TagButton('more','more','','','t'),
+ edButtons[120] = new qt.TagButton('more','more','\n\n\n\n','','t'),
edButtons[140] = new qt.CloseButton();
})();
diff --git a/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js b/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
index 1fe5aae93e..1a2dda3d67 100644
--- a/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
@@ -126,20 +126,43 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
}
});
+ // Make sure the "more" tag is in a separate paragraph
+ editor.on( 'PreProcess', function( event ) {
+ var more;
+
+ if ( event.save ) {
+ more = editor.dom.select( 'img.wp-more-tag', event.node );
+
+ if ( more.length ) {
+ tinymce.each( more, function( node ) {
+ var parent = node.parentNode, p;
+
+ if ( parent.nodeName === 'P' && parent.childNodes.length > 1 ) {
+ p = editor.dom.create('p');
+ parent.parentNode.insertBefore( p, parent );
+ p.appendChild( node );
+ }
+ });
+ }
+ }
+ });
+
// Register commands
editor.addCommand( 'WP_More', function( tag ) {
- var parent, html, title,
+ var parent, html, title, p1, p2,
classname = 'wp-more-tag',
+ spacer = tinymce.Env.ie ? '' : '' + html + '
' ); + editor.insertContent( '' + html + '
' ); return; } @@ -153,7 +176,16 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) { }, editor.getBody() ); if ( parent ) { - dom.insertAfter( dom.create( 'p', null, html ), parent ); + p1 = dom.create( 'p', null, html ); + dom.insertAfter( p1, parent ); + + if ( ! ( p2 = p1.nextSibling ) ) { + p2 = dom.create( 'p', null, spacer ); + dom.insertAfter( p2, p1 ); + } + + editor.nodeChanged(); + editor.selection.setCursorLocation( p2, 0 ); } });