当前所在位置: 首页>>百科全书

使用timthumb.php截取文章缩略图

发布时间:2025-10-19 15:19:45 本站作者 【 字体: 】 浏览:77 次

wordpress自带的缩略图功能会对每次上传的所有图片根据设置的图片尺寸进行裁剪,并把原图和裁剪后的图片保存在网站空间中,图片只裁剪一次,更改设置的尺寸不会重新生成,这样不仅占用主机空间,以后改版网站时还要使用同一尺寸的图片,否则图片会失真或变形。timthumb.php是专门针对wordpress开发的集成在wordpress主题中的缩略图应用项目,只会对调用的图片进行裁剪,而且是在有访问请求时才临时生成一个配置文件,在一定时间内缓存在空间中,不会生成多余的缩略图。

一、温馨提示:
timthumb需要主机支持GD库;
timthumb处理过程需要一定的服务器资源支持;
timthumb不支持外链图片;
timthumb出现过漏洞;
作者表示不再更新timthumb。
二、timthumb.php使用方法:

1、下载timthumb.php文件:

2、上传timthumb.php到当前主题文件夹,并在该主题文件夹中创建一个命名为cache的文件夹,设置cache文件夹的权限为755或777

3、关闭wordpress缩略图功能

4、在主题的functions.php文件添加以下代码:

//输出缩略图地址
function post_thumbnail_src(){
    global $post;
    if( $values = get_post_custom_values("thumbnail") ) { //输出自定义域图片地址
        $values = get_post_custom_values("thumbnail");
        $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)){
            $post_thumbnail_src = get_bloginfo('template_url')."/images/no-image.jpg"; //如果日志中没有图片,则显示默认图片
        }
    };
    echo $post_thumbnail_src;
}

上面的代码表示先获取自定义域的图片,如果没有设置自定义域图片则获取特色图像,如果没有设置特色图像获取内容首张图片,如果内容也没有图片,则显示默认图像no-image.jpg。

5、在需要显示缩略图的地方添加调用代码:

<img src="<?php bloginfo('template_url');?>/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&h=150&w=200&zc=1" alt="<?php the_title(); ?>" class="thumbnail"/>

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

三、附修补timthumb.php漏洞问题:

1.使用最新版的timthumb.php(但作者表示不再更新)
2.服务器目录权限设置
3.删除白名单

在文件中找到以下代码,删除或注释掉:

// external domains that are allowed to be displayed on your website
$allowedSites = array (
        'flickr.com',
        'picasa.com',
        'blogger.com',
        'wordpress.com',
        'img.youtube.com',
);


上一篇:WordPress网站临时关闭站点503

下一篇:WordPress网站如何设置404页面

最新发布
Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享

Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享

Office2024激活密钥分享,2026年Office 2024专业增强版密钥分享
Office2024激活密钥分享:2026年Office 2024专业增强版密钥分享产品密钥:604C7-MN692-PBMVK-7GYQ8-Q7DTD类型描述:Office_ProPlus2024VL_MAK_AE2错误代码:在线密钥剩余次数:138288产品密钥:XYNT8-B0HK4-3VHM-T8PHJ-4VY20类型描述:Office_ProPlus2024VL_MAK_AE2错误代码:在线密钥剩余次数:138288产品密钥:74]MX-0NM6T_YDVF2-P...
visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥

visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥

visio 2016 永久激活密钥 visio 2016专业版激活码 正版 visio 2016 零售版产品密钥
有用户找小编要最新 visio 2016 激活密钥,visio 2016 是一个独立组件,如果安装了正版 visio 2016 专业版,需要 visio 专业版 2016 密钥激活。激活 visio 2016 有两种秘钥,一种是 visio 2016 永久激活码,一种是 visio2016 kms 安装密钥,kms 激活密钥是半年期限,但是永久免费使用。这边小编为...
office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)

office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)

office2016专业增强版密钥,office2016专业版激活秘钥分享(亲测可用)
office2016专业增强版是一款办公必备软件,而在安装完成之后,都是需要通过官方提供的激活密钥来进行激活认证,但是如果没有激活的话只有30天试用期,期限一过就不能用了,为此,小编这就给大家分享一下office2016专业增强版激活密钥及最新激活码供大家参考,同时支持32位和64位。说明:因为密钥的特性不能保证100%激活,此...
Office2016激活密钥,Office2016专业版/家庭和学生版密钥

Office2016激活密钥,Office2016专业版/家庭和学生版密钥

Office2016激活密钥,Office2016专业版/家庭和学生版密钥
Office2016是现在大家主要使用的Office版本,当然了在安装完成之后最重要的是激活,网上有非常多的Office2016激活具,但是如果你不喜欢KMS激活,那么可以看看这里有没有你需要的Office2016永久激活MAK KEY密钥。本站时刻保持更新。<img alt="【最新】Office2016激活密钥" office2016专业版="" 家庭和...