用简单代码实现WordPress自动给图片添加alt和title属性

有网友在讨论,如何给网站中的图片自动添加图片的ALT和TITLE属性,因为在采集或者是编辑文章的时候确实图片太多的时候不会给图片添加这两个属性。如果我们采用的Wordpress肯定是有办法实现的,比如这里小编找到2个方法,可以实现自动在添加图片的时候加上属性。

1、方法A:添加ALT和TITLE

//文章图片自动添加alt和title属性(https://www.wenrr.com/整理)
function image_alt_tag($content){
global $post;preg_match_all('/<img (.*?)\/>/', $content, $images);
if(!is_null($images)) {foreach($images[1] as $index => $value)
{$new_img = str_replace('<img', '<img alt="'.get_the_title().'-'.get_bloginfo('name').'" title="'.get_the_title().'-'.get_bloginfo('name').'"', $images[0][$index]);
$content = str_replace($images[0][$index], $new_img, $content);}}
return $content;
}
add_filter('the_content', 'image_alt_tag', 99999);

 

2、方法B:添加ALT

//文章图片自动添加alt和title属性(https://www.wenrr.com/整理)
function img_alt( $imgalt ){
global $post;
$title = $post->post_title;
$imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
if(preg_match_all("/$imgUrl/siU",$imgalt,$matches,PREG_SET_ORDER)){
if( !empty($matches) ){
for ($i=0; $i < count($matches); $i++){
$tag = $url = $matches[$i][0];
$judge = '/alt=/';
preg_match($judge,$tag,$match,PREG_OFFSET_CAPTURE);
if( count($match) < 1 )
$altURL = ' alt="'.$title.'" ';
$url = rtrim($url,'>');
$url .= $altURL.'>';
$imgalt = str_replace($tag,$url,$imgalt);
}
}
}
return $imgalt;
}

add_filter( 'the_content','img_alt');

这里将两处的代码选择其一,添加到当前主题的Functions.php文件中就可以实现。(路径举例:wp-content/themes/主题文件夹/functions.php)

关于用简单代码实现WordPress自动给图片添加alt和title属性的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年8月25日 上午12:52
下一篇 2021年8月27日 下午11:45

相关推荐

  • WordPress中不用的图片怎么删除

    默认情况下,WordPress 会将你上传的图片自动生成几种不同大小的缩略图,但是有些WordPress主题根本就不会调用这些缩略图,它们就成了多余的啦。那么,如何才能快速删除这些已经生成的缩略图呢?建议试试DNUI(Delete not used image)插件。 DNUI Delete not used image介绍及使用方法 Delete not …

    2023年1月4日
    141
  • 腾讯轻量服务器挂载云硬盘的方法

    操作步骤 使用控制台挂载云硬盘 登录 云硬盘控制台。 在云硬盘列表页,您可以通过以下方法挂载云硬盘: 挂载单个云硬盘:选择状态为“待挂载”的云硬盘所在行右侧的更多 > 挂载。 批量挂载云硬盘:勾选状态为“待挂载”的云硬盘,单击云硬盘列表上方的挂载进行批量挂载。 弹出“挂载到实例”窗口,进入“挂载到实例”步骤。如下图所示: 选择需挂载的实例,并参考以下信…

    2022年11月27日
    146
  • 除宝塔面板各种计算题与延时等待

    现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成! 复制以下命令在SS…

    2021年12月11日
    579
  • 解决WordPress编辑器可视化/文本无法切换、添加媒体按钮失效

    最近在帮一个用户网站从win服务器搬家到linux服务器上,在安装调试WordPress的时候,发现编辑文章时,添加媒体的按钮和可视化/文本编辑切换都没反应,查找资料发现WordPress为了提高效率以及加载速度,把要用到的js连接在一起,如果没有结合在一起就会导致那些依赖js的功能失效,而部分主机可能由于环境配置不标准或禁用了某些相关函数,在这里还是要和大…

    2021年11月7日
    536
  • 解决Discuz论坛在线会员自定义用户组图标不显示的问题

    前段时间写了一篇《Discuz模板中的在线会员图标显示失败怎么办?》,有人提问自定义用户组不显示图标的问题,我这里也给个教程。 这里是我设置好的效果,分别设置了广告商、自媒体。 如果设置了用户组图标,但是在在线会员中不显示的话是正常情况。其实并不是系统问题,Discuz在设置用户组图标的时候,并不会同步设置在线会员的图标。 用户组图标虽然在用户-用户组-自定…

    2024年7月31日 建站知识
    289