WordPress.org

Make WordPress Core

Opened 15 months ago

Last modified 2 months ago

#23280 new defect (bug)

TinyMCE issue with table wrapped with shortcode

Reported by: wpweaver Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 3.5
Component: Shortcodes Keywords:
Focuses: Cc:

Description (last modified by ocean90)

TinyMCE will generate unbalanced <p> tags when a table is included as the content of a wrapping style shortcode. In this example, assume a shortcode called [div] ... [/div] that simply brackets the content with a <div> ... </div>.

This is an example as it would be in the editor's Text view (and it works if you switch back and forth to Visual.):


There will be a table following.

[div]
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
[/div]

Next line is here.

The HTML output generated is this:

<p>There will be a table following.</p>
<div></p>
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
<p></div>
<p>Next line is here.</p>

The shortcode is very simple - just a demo. It returns simply:

add_shortcode( 'div', function( $atts, $content ) {
	return '<div>' . do_shortcode( $content ) . '</div>';
} );

Doesn't seem to matter with or without the do_shortcode() call.


So note the excess </p> after the added starting <div>, and the extra <p> before the </div> from the shortcode. Seems to happen only with a wrapping style shortcode, and I think only with tables.

Change History (4)

comment:1 wpweaver15 months ago

  • Cc weaver@… added
  • Component changed from Editor to TinyMCE

comment:2 SergeyBiryukov15 months ago

  • Description modified (diff)

comment:3 ocean902 months ago

  • Description modified (diff)

comment:4 ocean902 months ago

  • Component changed from TinyMCE to Shortcodes

Thanks for the report wpweaver.

I could reproduce the issue in current trunk, also with a much simpler example.

[div]
<div>fooo</div>
[/div]

It seems like this happens to all block elements and if there is a space/break between the shortcode and the content, which makes me think, that this ticket is a dup of #24085.

Note: See TracTickets for help on using tickets.