Flector

Как удалить теги параграфа для отдельно стоящих картинок?

Картинка, обернутая в теги параграфа

Отдельно добавленные в текст записей картинки обрабатываются функциями автоформатирования движка, которые оборачивают эти картинки в теги параграфа (<p>...</p>). Проблема тут в том, что в темах зачастую прописаны отступы и для картинок и для параграфов и поэтому отдельно стоящая картинка получает двойные отступы, что может выглядеть некрасиво. Движок можно научить не обрабатывать картинки функциями автоформатирования, если они стоят отдельно. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//удаление тегов параграфа для отдельных картинок start
function wph_remove_p_images($content){
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}
add_filter('the_content', 'wph_remove_p_images');
//удаление тегов параграфа для отдельных картинок end

Этот код вырежет теги параграфа вокруг картинки, если параграф начинается тегом картинки и им же заканчивается (чтобы не затронуть картинки, которые вставлены в параграф текста). Но будьте осторожны, так как теги параграфа будут вырезаны в случае такой структуры параграфа: "картинка-текст-картинка".


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!