Всё на самом деле крайне просто. Берем фильтр вывода контента. Обрабатываем его регэкспом в поиске картинок обрамленными ссылками ( чтобы не влезать со своим текстом внутрь ссылки ), или если в контенте просто ссылки, без обрамления ссылками, тогда ищем их.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/************************************************************************************************ * Добавляет произвольный HTML после картинки, */ function azzrael_after_image($content) { $orig_len = strlen($content); if(is_singular()) { $text = <<<EOF <div class="azzrael_image_content"> Какой то ваш текст. Например это может быть рекламный болок, или какое то сообщение. Можно настроить вывод текста под всеми картинками записи Wordpress. Можно настроить вывод перед картинкой, или после ней </div> EOF; $content = preg_replace('|<a.*<img.*src[ ]*=[\'" ]*?(.*)[\'" ].*?>.*\/a>|iU','$0'.$text,$content, 1); // Если в тексте картинки есть, но картинки не обрамлены в ссылку, // то первый preg_replace не сработает и будем искать просто картинку if( strlen($content) == $orig_len ) $content = preg_replace('|<img.*src[ ]*=[\'" ]*?(.*)[\'" ].*?>|iU','$0'.$text,$content, 1); } return $content; } add_filter('the_content', 'azzrael_after_image'); |
Функция элементарная, к ней много чего прикрутить можно. Ну и не обязательно привязываться к картинкам. Можно взять списки, или там ссылки например. Ну вы поняли.
29 ноября 2013 |
Раздел: Программирование |
Метки: php, wordpress