Я обновил сотни изображений в WordPress, указав в медиатеке правильную информацию об альтернативном коде и заголовке, и теперь мне нужно, чтобы страница отображала правильную информацию без необходимости обновлять каждую страницу по отдельности.
Кажется, что использование add_filter
или чего-то подобного сделает то, что мне нужно, но я не уверен, нужно ли мне вычислять регулярное выражение или я могу просто использовать the_content
.
Я придумал способ получить все прикрепленные изображения и отобразить правильные теги alt и title, но я знаю только, как добавить изображения в начало или конец the_content
. Мне нужно, чтобы заменить каждое соответствующее изображение, которое уже есть. Есть лучший способ сделать это? Вот функция для помещения нового содержимого изображения в массив:
function replaceimages_get_images($content) {
global $post;
$images = array();
$x = 0;
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID,
'exclude' => get_post_thumbnail_id()
);
$attachments = get_posts( $args );
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
$src = wp_get_attachment_image_src( $attachment->ID, 'full' );
$title = apply_filters( 'the_title', $attachment->post_title );
$alt = apply_filters( 'alt', get_post_meta($attachment->ID, '_wp_attachment_image_alt', true ));
$images[$x] = '<img src="'.$src[0].'" title="'.$title.'" alt="'.$alt.'" />';
$x++;
}
}
return $content;
}
add_filter( 'the_content', 'replaceimages_get_images' );
Теперь мне нужно в псевдокоде сделать следующее:
for each image in $content {
match src to image in array;
replace entire image with image from array;
}