在优化网站内容时,确保图片具有描述性的 alt 属性是非常重要的。这不仅有助于提升网站的 SEO 效果,还能提高用户体验和可访问性。本文将介绍如何通过修改 DedeCMS 核心文件来实现文章模板和图集模板中图片自动添加标题作为 alt 属性的功能。

首先,打开 include/arc.archives.class.php 文件。

找到以下代码:

$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives');

在其下方添加以下代码,以实现文章模板中的图片自动添加 alt 属性为标题:

// 文章模板中的图片自动添加alt属性为标题
$this->Fields['body'] = str_ireplace(array('alt=""','alt=\\'\\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\\s]{0,}alt[\\s]{0,}=[\\"'\\s]{0,}[\\s\\S]{0,}[\\"'\\s] @isU","", $this->Fields['body']);
$this->Fields['body'] = str_ireplace("\\""Fields['title'] . "\\" ", $this->Fields['body']);


接下来,为了确保图集模板中的图片也能自动添加注释为标题,继续在同一位置添加以下代码:

// 图集模板中的图片自动添加注释为标题
$this->Fields['imgurls'] = str_ireplace(array('alt=""','alt=\\'\\''),'',$this->Fields['imgurls']);
$this->Fields['imgurls'] = preg_replace("@ [\\s]{0,}alt[\\s]{0,}=[\\"'\\s]{0,}[\\s\\S]{0,}[\\"'\\s] @isU","", $this->Fields['imgurls']);
$this->Fields['imgurls'] = str_ireplace("\\""Fields['title'] . "\\" ", $this->Fields['imgurls']);


完成上述修改后,保存文件并刷新您的网站缓存。现在,无论是文章模板还是图集模板,所有图片都会自动添加标题作为 alt 属性。

通过这种方式,您可以显著提高网站的内容质量和 SEO 表现。同时,这也为视觉障碍用户提供了更好的访问体验,因为他们可以借助屏幕阅读器更好地理解页面上的图像内容。

请记得,在对核心文件进行任何修改之前,备份相关文件是一个良好的习惯,以防出现意外问题。