Ticket #5250 (new defect (bug))
wpautop() issue with lists
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | Future Release |
| Component: | Formatting | Version: | 2.3 |
| Severity: | normal | Keywords: | xhtml autop needs-patch |
| Cc: | Jani, Uusitalo |
Description
First of all, my sincere apologies if this is a duplicate.
The problem, in short: WordPress inserted a number of unclosed <p> tags into my post. It should either insert correctly closed tags, or none at all. I honestly would prefer the former.
In detail: I had HTML code very similar to this:
<ul>
<li>text<ul>
<li>subtext</li>
</ul>more text</li>
</ul>
This was automatically converted to:
<ul>
<li>text<ul>
<li>subtext</li>
</ul><p>more text</li>
</ul>
Note the extra <p> tag in the above, which is unclosed (making the W3C validator choke on my website).
Also note, I was not using the WYSIWYG editor (turning it off was the first thing I did), so it's unlikely to be due to that.
As a workaround, manually inserting properly closed <p> tags works just fine:
<ul>
<li>text<ul>
<li>subtext</li>
</ul><p>more text</p></li>
</ul>
Since this workaround exists, the bug is not very prioritary, but it should also (hopefully) be easy to fix.
Change History
- Keywords autop added
- Priority changed from low to normal
- Severity changed from trivial to normal
- Milestone set to 2.4
comment:3
Viper007Bond — 4 years ago
Another work around is just to add in some line breaks:
<ul> <li>Some text! <ul> <li>More text!</li> </ul> </li> </ul>
comment:4
Viper007Bond — 4 years ago
- Keywords needs-patch added; xhtml autop removed
- Summary changed from Unclosed p tags -- not XHTML-compliant! to wpautop() issue with nested lists
I take that back. I forgot the text after the first </ul> and even with more line breaks, it added in a <p>. My apologies.
comment:9
Jani Uusitalo — 7 months ago
- Summary changed from wpautop() issue with nested lists to wpautop() issue with lists
This looks related to a test case I was preparing to demonstrate how flawed the output from wpautop can get inside lists:
<ol> <li> foo bar </li> </ol>
renders as:
<ol> <li> foo</p> <p>bar </li> </ol>
whereas I'd expect it to be
<ol> <li> <p>foo</p> <p>bar</p> </li> </ol>
I'm changing the summary to generally cover wpautop's problems within <li> elements.
