Divs появляются повсюду в почтовом контенте

Всякий раз, когда кто-то пишет сообщение на нашем сайте, в Paly Voice (http://palyvoice.com) автоматически создается много элементов <div> . Это плохо для макета, так как у нас есть стиль, который применяется к div, которые мы не хотим применять к стилям истории.

Есть ли способ удалить автоматическую вставку div? Если нет, могу ли я добавить крючок функции для разбора сообщения и удалить их перед сохранением в БД?

Изменить: Пример здесь: http://palyvoice.com/2012/08/22/new-grade-reports-to-be-mailed-home-every-four-weeks-2/

Solutions Collecting From Web of "Divs появляются повсюду в почтовом контенте"

Сначала вы должны узнать, откуда идут дивины, поскольку это ненормальное поведение. Может быть, из плагина или, как сказал Дэмиен, скопировать текст из Word.

Чтобы удалить div, вы можете сделать простой

 str_replace(array('<div>', '</div>'), '', $content) 

либо перед сохранением текста в базе данных (путем подключения к save_post ), либо перед его отображением на сайте (добавив фильтр на the_content ).

EDIT: я ошибся, вы не save_post , но вместо этого вы фильтруете по wp_insert_post_data . Эта функция ниже должна работать:

 function remove_divs($data) { $filteredContent = str_replace(array('<div>', '</div>'), '', $data['post_content']); $data['post_content'] = $filteredContent; return $data; } add_filter('wp_insert_post_data', 'remove_divs', 99); 

Поместите это в свои functions.php

Является ли человек, использующий вырезать n пасту из слова? Это может добавить много ужасных дополнительных элементов.

На панели инструментов WordPress есть кнопка для вставки непосредственно из слова. Это должно помочь.