通过代码实现WordPress支持webp图片格式的方法

虫子君
虫子君
虫子君
693
文章
278
评论
2019年4月26日12:06:28 5 3,611 1119字阅读3分43秒

最近一直在研究WordPress加载加速的问题,研究了蛮久,发现进度非常的缓慢,转战css吧,可是对于不懂PHP的虫子君来说,还是非常的麻烦的一件事情。不得已只好转战图片上面。

相信使用过wordpress的小伙伴来说,wp有一个是不支持webp格式的,但是wordpress的开源性,简单的设置一下就好了。

实现的方法有不少,可以直接修改Wordpress的程序文件当中的function.php文件,也可以通过修改主题当中的function.php来实现。

今天,主要是通过修改主题的function文件来实现,相比之下,比直接修改wordpress的程序文件会好一些,那是因为wordpress经常性的更新,我们不可能每一次更新都去修改一次文件,修改次数多了,难免会出错。

虽然webp图片,相比之下会比jpg格式的图片轻巧许多,根据官方“googel”说要比jpg同样的质量下,小将近40%,但是,(这里有一个但是!!!)但是webp格式的图片,会在部分版本的浏览器当中无法显示,以下是支持webp格式图片的浏览器版本。

通过代码实现WordPress支持webp图片格式的方法

好了,说了那么多的废话,下面正题开始;

首先在打开主题的function.php文件,然后在最后添加如下代码:

require get_template_directory() . '/inc/theme-setup.php';
function my_upload_mimes($mimes = array()) {
$mimes['svg'] = 'image/svg+xml';
$mimes['webp'] = 'image/webp';
return $mimes;
}

这里虫子君解释一下,其中webp是我们今天的主角,然后svg是虫子君之前的的文章中写的。给wordpress主题制作一个SVG格式logo以及让wp支持显示svg图片

当然仅仅是让wordpress支持webp文件还远远不够的,这样子的话,我们是无法在wordpress的媒体资源当中预览图片的,现在需要再给wordpress新增一个预览webp图片的功能。

function bzg_file_is_displayable_image($result, $path) {
	$info = @getwp-content/uploadsize( $path );
	if($info['mime'] == 'image/webp') {
		$result = true;
	}
	return $result;
}
add_filter( 'file_is_displayable_image', 'bzg_file_is_displayable_image', 10, 2 );

以上代码来源于;背字根博客

  • 欢迎来“给我投稿”网友会因为你的帮助而感激。
  • 文章链接:https://chonzi.com/7526.html
WordPress 5.4已经更新 快下载更新 热点新闻

WordPress 5.4已经更新 快下载更新

在今天2020年4月1日WordPress官网已经正式更新了WordPress 5.4版,其中更新了许多功能,当然其中最主要的依旧是古腾堡编辑器的改进更新,新的版本古腾堡编辑器将会更加的好用易用。在功...

您必须才能发表评论!

评论:5   其中:访客  4   博主  1
    • 醉后的力量 醉后的力量 1

      方法无效,鉴定完毕~~~~

        • 倪大叔 倪大叔 4

          @ 醉后的力量 那是你不会用吧,我自己网站就是这样的。

            • 醉后的力量 醉后的力量 1

              @ 倪大叔 几种方法都试过了,只有硬改WP配置文件的方式才有效!!!你用的不是最新版的WP吧?

              • 醉后的力量 醉后的力量 1

                @ 倪大叔 还有就是,这个格式要添加到WP默认文件当中才有效。你这个方法也许只是针对以前的老版本才有效,不信,你可以亲测新版本看看有没有效果。而且,感觉你这个代码也是搬运别人的!