//© 2019 Cs-Cs.Net Lab //При копированни пожалуйста оставляйте ссылку на мой пост: http://cs-cs.net/wordpress-auto-post-images-titles //Это надо добавить в functions.php темы блога. Ну и комментарии почитать! //***************************************************************** // АВТОМАТИЧЕСКАЯ ОБРАБОТКА КАРТИНОК ПОСТА (вставка описалова) // https://wp-kama.ru/hook/the_content //***************************************************************** add_filter( 'the_content', 'cs_content_imageprocess' ); function cs_content_imageprocess( $content ) { //Фильтр от главной страницы: можно ограничить так, чтобы подписи были только на одиночных страницах //Если надо, чтобы подписи были везде - надо закомментировать эти строчки if (!is_single( $post )) return $content; //Сначала роемся в контенте поста и достаём всю хуйню, которая относится к , точнее между этими тэгами //Инфа взята из https://snipp.ru/php/preg-match // и из http://yershov.com.ua/php/php-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%82%D0%B5%D0%BA%D1%81%D1%82-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%82%D0%B5%D0%B3%D0%B0%D0%BC%D0%B8/ //Ищем все характерные тэги ССЫЛОК 0 ) { $imgTagTitles = 0; //Массив от функции поиска заголовка картинки $imgTagTitle = ""; //Конкретный заголовок текущей картинки (отформатированный как надо) $imgTitleCount = 0; //Счётчик-флаг количествая найденного по регулярному выражению для "title" //Регулярное выражение на параметр "title" (если не найдём - то будет из alt) preg_match_all('#title ?= ?"(.+?)"#is', $postImageTags[0][0], $imgTagTitles); $imgTitleCount = sizeof($imgTagTitles[0]); //Сколько нашли (больше нуля или нет) //Если НЕ нашли - то пробуем то же с атрибутом "alt" if (0 == $imgTitleCount) { //Регулярное выражение на параметр "title" (если не найдём - то будет из alt) preg_match_all('#alt ?= ?"(.+?)"#is', $postImageTags[0][0], $imgTagTitles); $imgTitleCount = sizeof($imgTagTitles[0]); //Сколько нашли (больше нуля или нет) } //Если ТОЧНО нашли название конкретной картинки - то форматируем его и подставляем в $content if ($imgTitleCount > 0) { //Форматируем чистовое название, используя "html_entity_decode($imgTagTitles[1][0])". //Можно оформить как

со ссылкой на CSS или просто вписать стиль. Я пока впишу стиль, а потом сделаю CSS //$imgTagTitle = "

" . html_entity_decode($imgTagTitles[1][0]) . "

"; $imgTagTitle = "

" . html_entity_decode($imgTagTitles[1][0]) . "

"; //САМОЕ ГЛАВНОЕ: ЗАМЕНИТЬ в $content исходную ссылку ПОЛНОСТЬЮ на новую, с добавлением строкой заголовка картинки! //Мы имеем вот чего: //$content = Текст поста, который мы на лету править будем //$hrefTagText = полный текст HTML-тэга WordPress'овского изображения (который мы рыли регулярным выражением ранее) //$imgTagTitle = готовый формат HTML-кода для заголовка картинки (вставим после
) //МЕНЯЕМ (просто подцепляем текст названия после текста картинки! =)) $content = str_replace($hrefTagText, $hrefTagText . " " . $imgTagTitle, $content); } } } //НЕ ЗАБЫВАЕМ ВЕРНУТЬ ТЕКСТ ПОСТА ДАЛЬШЕ!!! return $content; }