如何自动在织梦系统中为文章图片设置ALT属性以调用其标题?

织梦系统自动调用标题作为图片ALT属性的方法,可以提升SEO效果和用户体验。

在织梦CMS系统中,图片的ALT属性对于SEO优化和提升网站的可访问性非常重要,通过自动调用文章标题作为图片的ALT属性,可以大大减少手动操作的繁琐,并确保每张图片都有合适的描述,以下是实现这一功能的方法:

如何自动在织梦系统中为文章图片设置ALT属性以调用其标题?

1、修改arc.archives.class.php文件

找到目录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为文档标题
     $this>Fields['body'] = str_ireplace(array('alt=""','alt='''), '', $this>Fields['body']);
     $this>Fields['body'] = preg_replace("@ [s]{0,}alt[s]{0,}=["'s]{0,}[sS]{0,}["'s] @isU", " ", $this>Fields['body']);
     $this>Fields['body'] = str_ireplace("<img ", "<img alt="".$this>Fields['title']."" ", $this>Fields['body']);

保存文件并更新生成文章内容即可。

2、使用自定义函数实现

打开/include/extend.func.php文件,在最下面加入以下代码:

     function replaceurl($newurl) {
         global $dsql, $id;
         $row = $dsql>GetOne("SELECT title FROM dede_archives WHERE id=$id");
         $newurl = str_ireplace(array('alt=""', 'alt='''), '', $newurl);
         $newurl = preg_replace("@[/s]{0,}alt[/s]{0,}=[/"'/s]{0,}[/s/S]{0,}[/"'/s]@isU", "", $newurl);
         $newurl = str_ireplace("<img", "<img alt="".$row['title'].""", $newurl);
         return $newurl;
     }

前端调用代码修改为:{dede:field.body function='replaceurl(@me)'/}

3、通过模板文件修改

打开织梦CMS后台,找到需要修改的模板文件,通常位于/templets/default/目录下。

如何自动在织梦系统中为文章图片设置ALT属性以调用其标题?

对于文章图片的ALT注释修改,编辑article_article.htm文件;对于图集图片的ALT注释修改,编辑image_collect.htm文件。

在模板文件中,找到图片标签(如<img>),将其alt属性值修改为{dede:field name='title'/},表示将ALT注释设置为文章标题。

保存修改后的模板文件,然后重新生成文章或图集页面,即可看到图片的ALT注释已经修改为文章标题。

4、编写自定义函数

/include/helpers/archive.helper.php文件中添加以下代码:

     function setImageAltToTitle($imgTag, $title) {
         if (preg_match('/]+>/i', $imgTag, $matches)) {
             $newImgTag = preg_replace('/]+)>/i', ' alt="' . $title . '" />', $matches[0]);
             return str_replace($matches[0], $newImgTag, $imgTag);
         }
         return $imgTag;
     }

打开/include/arc.archives.class.php文件,找到以下代码段:

     $content = $this>dsql>GetOne("SELECT content FROM #@__archives WHERE id='$aid'");
     $content = preg_replace('/r|r|
/', '', $content);

将其替换为:

     $content = $this>dsql>GetOne("SELECT content FROM #@__archives WHERE id='$aid'");
     $title = $this>dsql>GetOne("SELECT title FROM #@__archives WHERE id='$aid'");
     $content = preg_replace_callback('/]+>/i', function ($matches) use ($title) {
         return setImageAltToTitle($matches[0], $title);
     }, $content);
     $content = preg_replace('/r|r|
/', '', $content);

清理DedeCMS缓存并重新生成HTML页面,以确保更改生效。

通过以上方法,可以实现织梦CMS系统文章图片ALT自动调用标题的功能,提高网站SEO优化效果和用户体验。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1227469.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-20 14:05
下一篇 2024-10-15 21:19

相关推荐

发表回复

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

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入