Нужно было чтобы картинки 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);