Можно ли комментировать HTML-код в Wordpress Post?
Иногда мне нужно ввести некоторый необработанный HTML-код в сообщение Wordpress, и иногда мне нужно прокомментировать фрагмент этого кода.
С помощью обычного текстового редактора я могу просто использовать <!-- Comment -->
вокруг куска, который я хочу скрыть.
Но когда я пытаюсь это сделать в сообщении WP, он скрывает код, но я все еще вижу "тег закрытия комментария" -->
.
Какой правильный способ, если возможно, прокомментировать код в сообщении WP?
Спасибо!
Ответы
Ответ 1
wpautop() содержит ошибку, которая разбивает комментарии, содержащие HTML-код. Легким обходным путем является добавление второго открывающего тега комментария HTML непосредственно перед закрытием - эти трюки WordPress работают так, как вы ожидали. см. http://core.trac.wordpress.org/ticket/2691
Это будет работать в WordPress:
<!-- <div class="book floatleft"><a href="#">
<img src="http://www.myreallycoolsite.com/wp-content/uploads/2013/02/button.png" alt="" />
</a></div> <!-- -->
Это не будет работать в WordPress:
<!-- <div class="book floatleft"><a href="#">
<img src="http://www.myreallycoolsite.com/wp-content/uploads/2013/02/button.png" alt="" />
</a></div> -->
Ответ 2
Используйте скрытый блок div
вот так:
<div style="display: none;">
...comment...
</div>
работает как шарм
Ответ 3
Вместо того, чтобы печатать <!--Comment-->
в редакторе для вашего сообщения, убедитесь, что вы помещаете тег комментария в редактор raw html.
alt text http://headwaythemes.com/wp-content/uploads/2009/07/html_editor.jpg
Также используйте DOM Inspector, чтобы убедиться, что закрывающий тег th -->
на самом деле приходит из самой записи.
Еще один совет, прежде чем опубликовать статью, нажмите кнопку Close Tags
, чтобы убедиться, что он лучше проверяет ваш html.
Ответ 4
Вы можете попробовать один из следующих плагинов, который сохраняет форматирование кода в редакторе html:
- Плагин TRUEedit
- WP Super Edit
- пс-выключение-авто-форматирования
- Unfiltered MU (только для нескольких типов)
Я считаю, что большинство этих плагинов удаляет фильтр wptexturize, который использует WordPress, который заменяет символы и шаблоны (что испортит некоторые короткие коды и html).
Если вы используете "Deans FCKEditor" или "Foliopress WYSIWYG", это может быть проблемой, поскольку они конвертируют кавычки в кавычки html, добавляют разметку абзаца, помещают короткие коды и выполняют некоторую замену символов HTML.
Ответ 5
Этот фрагмент должен делать то, что вы ищете.
// Add the unfiltered_html capability back in to WordPress 3.0 multisite.
function um_unfilter_multisite( $caps, $cap, $user_id, $args ) {
if ( $cap == 'unfiltered_html' ) {
unset( $caps );
$caps[] = $cap;
}
return $caps;
}
add_filter( 'map_meta_cap', 'um_unfilter_multisite', 10, 4 );
Ответ 6
Попробуйте следующее:
<!-- Comment --!>
Работает как шарм.
Ответ 7
Хм какая версия Wordpress вы используете? Я попытался воспроизвести вашу проблему в версии 3.0 и не смог этого сделать.
<!-- hidding content like this works just fine -->
Ответ 8
Попробуйте следующее:
<!--<br />
... commented out stuff ...<br >
<-->
но будьте осторожны с тегом разрыва HTML WordPress выкинет в конце комментария.
Ответ 9
Как и предложенный jharrel, это работает отлично:
<!-- content <!-- -->