0

当管理员在 wordpress 上添加新缩略图时,我想在缩略图上强制属性“alt”。

如果在输入“标题”上有保存缩略图验证器的 javascript 挂钩,那就太好了!

谢谢你。

4

2 回答 2

4

找到这个,把它放在你的主题目录中的functions.php文件中

function add_alt_tags($content)
{
    global $post;
    preg_match_all('/<img (.*?)\/>/', $content, $images);
    if(!is_null($images))
    {
            foreach($images[1] as $index => $value)
            {
                    if(!preg_match('/alt=/', $value))
                    {
                            $new_img = str_replace('<img', '<img alt="'.$post->post_title.'"', $images[0][$index]);
                            $content = str_replace($images[0][$index], $new_img, $content);
                    }
            }
    }
    return $content;
}
add_filter('the_content', 'add_alt_tags', 99999);

在这里找到更多http://www.paulund.co.uk/add-missing-alt-tags-to-wordpress-images

这是在我的片段网站上进行的。希望能帮助到你

于 2013-10-26T20:03:59.793 回答
0

默认情况下,返回的图像没有标题或 alt 属性。(自 WordPress 4.7 起,alt 属性不再自动添加。如果您在上传图片时专门输入了“Alt text”,或者如果您返回媒体库并输入“Alt text”,它将只有一个 alt 属性图片)。

当前,如果您的图像都具有(标题属性标签)和(alt 标签),则来自 Google 搜索的网站流量要高得多。因此,我添加了 title 和 alt 属性来发布缩略图,其中包含以下功能,该功能位于您的主题“functions.php”文件中。title 和 alt 属性的值将取自图像的标题,即附件的标题(不是实际的帖子标题)。

function eln_add_img_title( $attr, $attachment = null ) {

$img_title = trim( strip_tags( $attachment->post_title ) );

$attr['title'] = $img_title;
$attr['alt'] = $img_title;

return $attr;
}
add_filter( 'wp_get_attachment_image_attributes','eln_add_img_title', 10, 2
);

如果您不希望从默认图像名称中获取图像属性,您可以更改代码,以便从“post_title”中获取图像属性,如下所示:

// Force adding missing image alt & title for WordPress.
function eln_add_img_title( $attr, $attachment = null ) {

$img_title = trim( strip_tags( $attachment->post_title ) );

$attr['title'] = the_title_attribute( 'echo=0' );
$attr['alt'] = the_title_attribute( 'echo=0' );

return $attr;
}
add_filter( 'wp_get_attachment_image_attributes','isa_add_img_title', 10, 2     );

希望这可以帮助您并节省您的时间,祝您有美好的一天:)

于 2017-02-12T21:29:20.810 回答