Есть код
function breezer_addDivToImage( $content ) {
// A regular expression of what to look for.
$pattern = '/(<img([^>]*)>)/i';
// What to replace it with. $1 refers to the content in the first 'capture group', in parentheses above
$replacement = '<div class="myphoto">$1</div>';
// run preg_replace() on the $content
$content = preg_replace( $pattern, $replacement, $content );
// return the processed content
return $content;
}
add_filter( 'the_content', 'breezer_addDivToImage' );
Код работает, но если у изображения есть подпись (caption), то код не оборачивает картинку в DIV и вся верстка рвется...
Видимо регулярное выражение не правильно, паттерн должен находить
<div id="attachment_38847" style="width: 1610px" class="wp-caption alignnone"><img src="http://test.com/wp-content/uploads/2016/12/224157043765335545.jpg" alt="mers"><p class="wp-caption-text">Mers</p></div>