Кнопки в тексте

При написании заметки о reset(), для наглядности поставил input type="reset" прямо в тексте поста. В итоге получил следующий рваный абзац:
wp порвал мой абзац

Это произошло по двум причинам.

  1. Wp добавляет тег br перед каждым input.
  2. В style.css прописано правило для инпутов, которые находятся в тесте поста, с нижним отступом в 24px.

Для приведения абзаца в нормальный вид пришлось залезть в файлы wp и кое что там подправить.

Убираем лишние теги от Wp

В файле /wp-includes/default-filters.php есть вызов функции, которая обрабатывает ваш код. Она открыв файл, вы убедитесь что она вызывается многократно, для всех и вся. В рассматриваемом сейчас случае меня интересовала строчка №141

141
add_filter( 'the_content', 'wpautop'            );

Закомментировав её, я избавился от автоматически добавляемых br и p.

Обнуляем margin

Эту тему, которую вы видите, я создал самым быстрым и простым способом: скопировал все файлы из default-темы в новую папку и подкорректировал под свой вкус. Разумеется в наследство с css достались и те правила, которые мне не подходят. В частности такое:

605
606
607
.entry-content input {
	margin: 0 0 24px 0;
}

Мне нижний отступ для инлайн элемента, который находиться в абзаце не к чему. Убираем.

Итог: публикация приобретает читаемый вид:
нормальный абзац

во время написания этой заметки вылезла ещё одна неприятность: несуразно отображаются номера строк в табличке генерируемой плагином wp-syntax. Видимо следующий материал будет об этом.

Эта запись была опубликована в рубрике Доработка Wordpress'а надфилем и отмечена метками , , , . Добавить в закладки ссылку.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>