我已经在 WordPress 中使用媒体库中的正确 alt 和标题信息更新了数百张图像,现在我需要让页面呈现正确的信息,而无需单独更新每个页面。
似乎 usingadd_filter
或类似的东西可以满足我的需要,但我不确定我是否需要找出正则表达式或者我是否可以使用the_content
.
我已经整理了一种方法来获取所有附加图像并显示正确的 alt 和标题标签,但我只知道如何将图像添加到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;
}