【WP优化】使用timthumb实现WordPress缩略图截取

什么是 timthumb.php

什么是 timthumb.php 呢?这是一个专门为 WordPress 而开发的缩略图应用的项目。有点类似于插件,但是又和 WordPress 插件不同,因为它不是被上传于 plugins 文件夹下,而是需要上传到你的主题文件夹中。你可以在这里了解和下载最新版本的 timthumb.php,一般默认配置也就可以了。这里只是简单说说使用,更过的介绍就靠大家自己去搜索了。

timthumb使用方法

要使用timthumb,需要主机支持GD库,现在一般的收费主机都是支持的。下载并将其上传到你的空间,然后在和timthumb.php同一个目录下,新建一个cache文件夹,linux主机用户,要设置cache文件夹为 755 或 777 权限。

使用的时候,一般图片的地址是这样的:

<img src="http://timthumb所在目录/timthumb.php?src=图片地址&h=图片高度&w=图片宽度&zc=1" class="thumb" />

其中,h为缩略图的高度,w为缩略图宽度,zc有两个属性值,1表示裁剪,0表示按设置的高宽压缩,不裁剪。

关于timthumb的使用和设置,大家自己google搜索吧。

下面是在主题中使用的timthumb的代码:

首先,在functions.php中添加下面的代码,来获取图片的地址:

//添加特色缩略图支持
if ( function_exists('add_theme_support') )add_theme_support('post-thumbnails');
 
//输出缩略图地址 From wpdaxue.com
function post_thumbnail_src(){
    global $post;
  if( $values = get_post_custom_values("thumb") ) {	//输出自定义域图片地址
    $values = get_post_custom_values("thumb");
    $post_thumbnail_src = $values [0];
  } elseif( has_post_thumbnail() ){    //如果有特色缩略图,则输出缩略图地址
        $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
    $post_thumbnail_src = $thumbnail_src [0];
    } else {
    $post_thumbnail_src = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
    $post_thumbnail_src = $matches [1] [0];   //获取该图片 src
    if(empty($post_thumbnail_src)){	//如果日志中没有图片,则显示随机图片
      $random = mt_rand(1, 10);
      echo get_bloginfo('template_url');
      echo '/images/pic/'.$random.'.jpg';
      //如果日志中没有图片,则显示默认图片
      //echo '/images/default_thumb.jpg';
    }
  };
  echo $post_thumbnail_src;
}

 

上面的代码获取图片的顺序是:自定义域 thumb 的图片 > wordpress特色图片 > 文章第一张图片 > 随机图片/默认图片

然后在调用缩略图的地方使用类似的代码:

<img src="http://timthumb所在目录/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&h=150&w=2000&zc=1" alt="<?php the_title(); ?>" class="thumbnail"/>

就可以显示缩略图。你可以修改上面的参数,实现不同位置显示不同大小的缩略图。

注:上面的代码只是一个例子,请根据你的需要自己修改,如果你不会代码,就不要使用我的代码了,没时间多说。
很多的主题中,timthumb功能是预留的,你可以在主题设置中,根据自己的需要设置启用或禁用,不需要你修改任何文件。
timthumb常见问答
1.WordPress本身就有截取缩略图的功能,为什么要使用timthumb呢?

WordPress本身的缩略图截取功能,会对上传的任何图片都进行裁剪,每个图片都删除缩略图保存在空间中,特点是,图片只生成一次,需要调用是不会再次生成,但是有很多缩略图根本用不到,占用空间。

timthumb只对要作为缩略图的那个图片进行裁剪,并且是在有访问请求时才临时处理生成,生成的是一个配置文件,不存在真正的缩略图文件,在一定的时间内会缓存在空间中,失效后,有访问请求会重新生成。特点是,不会生成多余的缩略图,但是处理过程需要一定的服务器资源支持。

2.听说timthumb以前有漏洞,现在不放心?

任何程序都会存在漏洞,包括WordPress本身,timthumb之前也一样,但是最新版本已经算是比较安全了,我只能说,如果你担心,那就不要用。

温馨提示:本文最后更新于2020-03-06 10:38:34,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容