[wp-trac] [WordPress Trac] #23280: TinyMCE issue with table wrapped with shortcode
WordPress Trac
noreply at wordpress.org
Fri Jan 25 03:02:55 UTC 2013
#23280: TinyMCE issue with table wrapped with shortcode
--------------------------+------------------------------
Reporter: wpweaver | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: TinyMCE | Version: 3.5
Severity: normal | Resolution:
Keywords: |
--------------------------+------------------------------
Description changed by SergeyBiryukov:
Old description:
> 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:
>
> {{{
> return '<div>' . do_shortcode($text) . '</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.
New description:
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:
{{{
return '<div>' . do_shortcode($text) . '</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.
--
--
Ticket URL: <http://core.trac.wordpress.org/ticket/23280#comment:2>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list