大前端WordPress D8主题优化之:缩略图裁切

大前端浩子同学的新WordPress主题D8太给力了,目前可以说全网D8,很多博主朋友们都在使用D8欢乐博客中,当然我也不例外,好的主题,当然要享受一下。

但大前端的主题还有些地方可以进行优化的,比如全站的缩略图,浩子同学就没有进行优化,全部是整张图片显示,没有进行任何裁切处理,对于流量大的博客来说,这无所谓,但对于流量小的可怜的博客,日志中又有很多图片的博主来说,就完全不同了,本文主要介绍一下简单几招,全站瘦身,让你的博客不占流量,闪电加载!

D8缩略图是通过deel_thumbnail函数进行提取的,这个函数在主题目录下的functions.php中,大家可以自行搜索查找,原来代码如下:

if ( ! function_exists( 'deel_thumbnail' ) ) :
function deel_thumbnail() {
global $post;
if ( has_post_thumbnail() ) {
$domsxe = simplexml_load_string(get_the_post_thumbnail());
$thumbnailsrc = $domsxe->attributes()->src;
echo '<img src="'.$thumbnailsrc.'" alt="'.trim(strip_tags( $post->post_title )).'" />';
} else {
$content = $post->post_content;
preg_match_all('/<img.*?(?: |t|r|n)?src=['"]?(.+?)['"]?(?:(?: |t|r|n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
$n = count($strResult[1]);
if($n > 0){
echo '<img src="'.$strResult[1][0].'" alt="'.trim(strip_tags( $post->post_title )).'" />';
}else {
echo '<img src="'.get_bloginfo('template_url').'/img/thumbnail.png" alt="'.trim(strip_tags( $post->post_title )).'" />';
}
}
}
endif;

这段代码只提取了文章的第一张图片,但不管图片多大,都没有对图片进行裁切压缩,下面是我优化后的函数代码,替换上面代码:

/*缩略图*/
if ( ! function_exists( 'deel_thumbnail' ) ) :
function deel_thumbnail() {
global $post;
if ( has_post_thumbnail() ) {
$domsxe = simplexml_load_string(get_the_post_thumbnail());
$thumbnailsrc = $domsxe->attributes()->src;
echo '<img width="220" height="150" src="'.$thumbnailsrc.'" alt="'.trim(strip_tags( $post->post_title )).'" />';
} else {
$content = $post->post_content;
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
$n = count($strResult[1]);
if($n > 0){
echo '<img width="220" height="150" src="'.get_bloginfo("template_url").'/timthumb.php?src='.$strResult[1][0].'&w=220&h=150&zc=1" alt="'.trim(strip_tags( $post->post_title )).'" />';
}else {
echo '<img width="220" height="150" src="'.get_bloginfo('template_url').'/img/thumbnail.png" alt="'.trim(strip_tags( $post->post_title )).'" />';
}
}
}
endif;

上面代码将配合使用大名鼎鼎的 timthumb.php 文件对缩略图自动裁切成指定尺寸,并保存在缓存目录,我使用的是220×150,你可以根据自己需要改动尺寸。

下载 timthumb.php 文件到你的D8主题目录,新建目录cache,并设置可写权限777,新的缩略图函数就自动对图片进行裁切到220×150尺寸,并保存到你的缓存目录cache,这样就可以全站节约大量流量,博客的访问速度自然就会提升N倍。

当然,大家可能被标题诱惑到了,我并不是提供大前端D8主题的下载,而是提供一个优化方案,估计在使用D8流量又不大的朋友,一定觉得本文有用,打算使用D8的朋友,请直接围观大前端博客购买正版。

可能是我提供的代码应该可以正常使用,但不排除被WP自动转义的可能,应大家需要,我把代码弄到记事本里,直接下载即可。
deel_thumbnail优化版缩略图代码(右键另存)

思章老师

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片

    2011.04.25

    52个干净的基于CSS标签的导航代码

    无论我们是在制作网站还是博客,我们都会使用导…

  2. 没有图片

    2010.09.18

    Internet Explorer 9 正式版将冲击浏览器行业

    微软件的新一代浏览器Internet Exp…

  3. 没有图片

    2012.06.28

    大前端D5主题正式版免费发布

    D5主题是继D3、D4主题之 后大前端免费公…

  4. 没有图片

    2013.12.06

    U盘没有写保护开关却提示被写保护 无法格式化

    近来大量的学生拿来U盘向我求救“老师,看我的…

  5. 没有图片

    2013.12.31

    如何全新安装 OS X Mountain Lion

    刚刚介绍了如何制作 OS X Mountia…

  6. 没有图片

    2011.11.29

    WHMCS整合WHM/cPanel自动开通主机简明教程

    此文主要为学习之用,文章内容转自赵容部落,作…

评论

  1. 烂番茄网 2014.07.17 12:45下午

    很是给力哈哈!!

  2. 媚眼儿风流 2014.02.21 2:10下午

    刚才实验了一下得上传的图片有效果,不过盗链的图片就不行了,图片本地其实也不错不然人家一改图片就全部看不到了