WP让我现在拔出头发(过去几天一直在努力解决)。
尝试做一些简单的短代码,这些代码围绕着文章的各个要点。然而,我认为wpautop()正在造成巨大破坏。我尝试了网络上的各种建议,包括viperbonds(VIP.N:行情)和viperbonds(VIP.N:行情)等http://www.viper007bond.com/2009/11/22/wordpress-code-earlier-shortcodes/ ) 控制短代码何时运行,但无论是在wpautop之前还是之后运行,我仍然会遇到各种麻烦。它只格式化了没有瑕疵的短代码,并完全禁用了wpautop,但其余的帖子则没有格式化。
我有一个短代码[回顾\\u摘要]这里的结论文本/段落。。。由编辑撰写[/REVIEW\\u SUMMARY],简单来说,它构建了一组特定的、一致的标题,并从各种自定义元数据构建了评分、图像等。大部分情况下效果良好。
问题是我们有一个计分块,它作为此短代码最终内容的一部分输出:
<div class="tile-score"><div><span>9.9</span><small>Out of 10</small></div><b>Our score</b></div>
禁用wpautop的短代码的完整示例输出(由于太长而被剥离了一点):
<section><h1>Summary</h1>
<div id="score_review_container" class="clearfix"><a href="#" class="score-review-image"><img src="#" width="99" height="180" alt="#" /></a><div class="score-review-meta"><h2><a href="#">Item Reviewed</a></h2><div class="tile-score"><div><span class="ft-arb">9.9</span><small>Out of 10</small></div><b>Our score</b></div></div></div>Paragraph1...
Paragraph2...
Paragraph3...
Paragraph4...</section>
它肯定没有换行符等WP应该格式化的内容(除了您期望的段落之外)。
但是,打开wpautop它会生成(在wpautop()之前运行):
<div class="tile-score">
<div><span>9.9</span><small>Out of 10</small></div>
<p><b>Our score</b></div>
生成的代码的完整版本(去掉一点)并在wpautop()运行之前运行:
<section>
<h1>Summary</h1>
<div id="score_review_container" class="clearfix">
<a href="#" class="score-review-image">
<img src="#" width="99" height="180" alt="#" />
</a>
<div class="score-review-meta">
<h2><a href="#">Item Reviewed</a></h2>
<div class="tile-score">
<div><span class="ft-arb">9.9</span><small>Out of 10</small></div>
<p><b>Our score</b>
</div>
</div>
</div>
<p>Paragraph1</p>
<p>Paragraph2</p>
<p>Paragraph3</p>
<p>Paragraph4/p>
</div>
</section>
请注意:那么Para4端实际上是这样的。缺少括号<;在我们得分之前插入。
在任何时候都不应该有任何我没有告诉它的换行符,也不应该有一个打开的标签,更不用说它不会关闭它和rogue breaked end p标签。
wpautop()之后运行的完整版本(已剥离):
<section>
<h1>Summary</h1>
<div id="score_review_container" class="clearfix">
<a href="#" class="score-review-image">
<img src="#" width="99" height="180" alt="#" />
</a>
<div class="score-review-meta">
<h2><a href="#">Item Reviewed</a></h2>
<div class="tile-score">
<div><span class="ft-arb">9.9</span><small>Out of 10</small></div><b>Our score</b></div></div></div>Para1...</p><p>Para2...</p><p>Para3...</p><p>Para4...</section>
我完全弄不明白是什么产生了这些垃圾。以上是在运行wpautop()之前运行的一个示例,该示例将其余内容的所有段落保持在tack中的短代码内。