
Нужно было чтобы картинки img, которые возвращает функция the_content(), в своем атрибуте alt содержали «заголовок публикации — фото 1», «заголовок публикации — фото 2» и т.д. соответсвенно для каждой картинки.
Заголовок публикации можно получить функцией — get_the_title()
the_content() — сразу отображает содержимое поста или записи в вашем шаблоне, но для получения и обработки нам нужна функция get_the_content()
Имея контент и необходимы заголовок нам нужно выполнить парсинг содержимого HTML, для изменения атрибута alt для картинок img я использовал DOMDocument и php-mbstring.
$alt_text = 'Заголовок статьи'; $dom = new DOMDocument; $dom->loadHTML($doc); $images = $dom->getElementsByTagName('img'); foreach ($images as $index => $image) { $new_alt = $alt_text.' - '.$index.' фото'; $image->setAttribute('alt', $new_alt ); } $doc = $dom->saveHTML();
function changeImgAltInContent($content, $alt_text, $start_count = 1) { $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); $doc = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8"); $dom = new DOMDocument; $dom->loadHTML($doc); $images = $dom->getElementsByTagName('img'); foreach ($images as $index => $image) { $count = $index + $start_count; $new_alt = $alt_text.' - '.$count.' фото'; $image->setAttribute('alt', $new_alt ); } $doc = $dom->saveHTML(); return $doc; } echo changeImgAltInContent(get_the_content(), get_the_title(), 2);