Ответ 1
Используйте это:
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
в functions.php
Здесь полный ответ: http://codex.wordpress.org/Function_Reference/wpautop#Disabling_the_filter
Все, что у меня есть, это следующий небольшой фрагмент кода:
<select size="1" name="EventHour<?php echo $i; ?>">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
: <!-- note this character -->
<select size="1" name="EventMinute<?php echo $i; ?>">
<option>00</option>
<option>05</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option>25</option>
<option>30</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
</select>
Должен выводиться нормально. Тем не менее, WordPress добавляет p-тег вокруг моих элементов select, а также вокруг ":" -character. Это заставляет их всех оказаться в разных рядах.
Я установил и активировал плагин WordPress "Отключить визуальный редактор WYSIWYG" на этой странице без какого-либо успеха. Любые другие идеи, что я могу сделать, чтобы это не произошло? Заранее спасибо!
Используйте это:
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
в functions.php
Здесь полный ответ: http://codex.wordpress.org/Function_Reference/wpautop#Disabling_the_filter
Wordpress изменяет и очищает введенный HTML как в редакторе, так и на выходе.
Используйте этот плагин для получения немодифицированной разметки в своих сообщениях:
Попробуйте это в своих функциях .php
<?php remove_filter ('the_content', 'wpautop'); ?>
Вы можете минимизировать свой код. Wordpress не будет уничтожать код, если все в одной строке.
Я делаю это, когда хочу поместить теги <style>
или <script>
в определенные сообщения.
В моем случае я делаю это вручную для страницы:
Результат, который показывает дополнительные теги p
:
<p><?php if($description){ echo $description; } ?></p>
<p><?php if($description){ echo wpautop($description); } ?></p>
Результат, который удаляет лишние теги p
:
<?php if($description){ echo wpautop($description); } ?>
Обратите внимание, я удалил
p
теги вокругecho
, затем добавилwpautop
кecho
.
Конечный результат:
<p>description content</p>
Если сообщение имеет пользовательский тип сообщения, вы можете добавить мета-поле с помощью add_meta_box, и там вы можете инициализировать свой собственный редактор с помощью wp_editor, который можно настроить. Например, вы можете передать настройки в tinymce, такие как 'force_p_newslines' и 'принудительно_рутое_блок'
По крайней мере, с contact-form-7 я добился некоторого успеха, используя html-minifier для предотвращения этих надоедливых p-тегов. Пришел сюда, потому что я погуглил, если другие тоже находят это таким же разочаровывающим, как и я.
Если после минифайра кода у вас все еще есть проблемы, используйте преобразование вашего тега в div
, где тег p
автоматически добавляется.