WordPress 自动添加图片、Gravatar 头像 alt 和 title 属性

WordPress 写博客或多或少会添加一些图片,而图片添加 alt 和 title 属性对搜索引擎比如 Google SEO 更友好。手动添加最准确,效果最好,但是麻烦,特别是图片比较多的文章就很费事,那么 WordPress 能自动添加图片、Gravatar 头像 alt 和 title 属性吗?

WordPress 自动添加图片、Gravatar 头像 alt 和 title 属性插图

图片 alt 属性简介

ALT,全称 alternative text,翻译过来就是「替代文字」,可以称为「ALT 属性」、「ALT 描述」,ALT 是 HTML 一个属性,主要用作图片的文字描述,当图片无法正常加载显示时,就显示该图片 ALT 描述来替代未能成功加载的图片。

風冷無霜 0xo.net|uxtt.com|867755.com…
「WordPress 自动添加图片、Gravatar 头像 alt 和 title 属性:https://bdkp.net/39」

ALT 属性目的是让博主给上传的图片添加一个文字描述,起码有两种不错作用:

  • 帮助阅读障碍网友更好理解图片含义;
  • 告诉谷歌搜索引擎,这张图片是关于什么的,方便图片关键字分类;

WordPress 如何自动添加图片 alt 属性和 title 属性?

不嫌麻烦每张图片手动添加效果最好,WordPress 如何自动添加图片 alt 属性和 title 属性?网上可以找到不少方法。

这里分享一个自用懒人代码,不管原本有没有 alt 或者 title 属性,都会强制自动替换

風冷無霜 0xo.net|uxtt.com|867755.com…
「WordPress 自动添加图片、Gravatar 头像 alt 和 title 属性:https://bdkp.net/39」

//强制自动添加替换图片 alt 和 title 属性 ae.mba
function image_alttitle( $content ){
global $post;
$btitle = get_bloginfo('name');
$imgtitle = $post->post_title;
$imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
if(preg_match_all("/$imgUrl/siU",$content,$matches,PREG_SET_ORDER)){
if( !empty($matches) ){
for ($i=0; $i < count($matches); $i++){
$tag = $url = $matches[$i][0];
$j=$i+1;
$url = preg_replace( '/(title|alt)="\d*"\s/', "", $url );
$altURL = ' alt="'.$imgtitle.' - 第'.$j.'张图片" title="'.$imgtitle.' - 第'.$j.'张图片 | '.$btitle.'" ';
$url = rtrim($url,'>');
$url .= $altURL.'>';
$content = str_replace($tag,$url,$content);
}
}
}
return $content;
}
add_filter( 'the_content','image_alttitle', 98);
  • alt 属性显示形式为「文章标题 – 第几张」,title 属性显示形式为「文章标题 – 第几张 | 站点名称」。
  • 小缺陷&优点:不管 img 标签中有没有 alt=”” 和 title=”” 时,都会强制添加替换 alt 和 title 属性。

附送:为 Gravatar 头像添加 alt 属性

一般主题 Gravatar 头像都没有 alt 属性,不过其实 WordPress 自带 get_avatar 函数就有 alt 属性。

function get_avatar( $id_or_email, $size = 96, $default = '', $alt = '', $args = null )

其中:$alt 就是 alt 可选参数,默认是空……

使用「博客名字 – 评论者名称」作为 Gravatar 头像 alt 属性,参考代码:

風冷無霜 0xo.net|uxtt.com|867755.com…
「WordPress 自动添加图片、Gravatar 头像 alt 和 title 属性:https://bdkp.net/39」

<?php echo get_avatar( $comment, 48, '', get_bloginfo("name").'-'.get_comment_author() ); ?>

注意:此方法仅适用于使用 get_avatar 输出头像。

参考资料:龙笑天下

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注