Intereting Posts
WP_Query meta_query по ключу массива Можно ли исключить определенные шаблоны страниц для определенной роли? Как создать пользовательское меню на основе категории или тега? Как добавить идеальный апостроф и цитату в сообщениях WordPress? Какая польза от таблицы wp_links? Обработка загрузок изображений без толстого окна Не получил ничего после выполнения функции AJAX post Плагин создает должности дважды Как я могу добавить поле для загрузки изображения непосредственно в пользовательскую панель записи? Meta Query возвращает неверное количество сообщений Как я могу использовать встроенную функциональность WordPress «просматривать ссылки»? Попытка выбрать 1 элемент из массива the_content всегда окружен параграфами (как отключить или удалить их)? Представление Front End с мета-ключом Правильный способ хранения большого количества настраиваемых почтовых полей

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 есть кнопка для вставки непосредственно из слова. Это должно помочь.