Оберните короткие коды и wpautop
WP в данный момент заставляет меня рвать на себе волосы (последние несколько дней пытаюсь решить).
Пытаюсь сделать несколько простых коротких кодов, которые охватывают различные пункты статьи. Однако wpautop() Я верю, что это сеет хаос. Я пробовал различные предложения, найденные в сети, включая viperbonds (http://www.viper007bond.com/2009/11/22/wordpress-code-earlier-shortcodes /), чтобы контролировать, когда запускаются короткие коды, но я все еще получаю различные неприятности, будь то шорткод выполняется до или после wpautop. Он только отформатирует шорткод без ошибок с полностью отключенным wpautop, но остальная часть сообщения тогда не отформатирована.
У меня есть шорткод [REVIEW_SUMMARY] Текст заключения/параграфы здесь... написанный редактором [/REVIEW_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>
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: затем пункт 4 заканчивается
На самом деле так и есть. В нем отсутствует скобка < и вставленный
До Нашего счета.
Ни в коем случае не должно быть никаких разрывов строк, о которых я не говорил, и не должно быть открытого
Тег, не говоря уже о том, что он не закрывает его, и тег rogue broken 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(), которая сохраняет все абзацы остального содержимого в шорткоде.
1 answers
Думаю, тогда способ исправить это - обернуть содержимое в теги <p>
в качестве взлома, чтобы обойти его. Кажется, это единственный способ, так как WP не обнаружит его должным образом.