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

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

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

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页面

最新发布
Office2019激活密钥,office2019专业版产品激活码,2026.5最新分享

Office2019激活密钥,office2019专业版产品激活码,2026.5最新分享

Office2019激活密钥,office2019专业版产品激活码,2026.5最新分享
以下是 Office2019 Pro Plus 激活 KEY:G4GBV-4N9VP-JYG8G-H7W8M-HVB9BH38JK-NC6WH-7PFFF-P2FVR-QGQ2TX2XNB-G4XQY-QXBDK-DR8B3-9D9GMKX83N-WJ68W-VBQW8-MC9TG-HFVPT3FPNR-B68HC-QCXCH-M87GY-CWHPTF8HGP-3NGYV-BFYW7-GKWH3-JT26GKRCNX-TPWG9-KJ22P-HMX7K-C7MCT2YNHC-YPKJW-3BVGC-3DPP7-9BWJ6QBGTN-TGKK8-RCGBB-DTJBH-8HXGMVN...
Office2021密钥激活码,Office2021专业版产品激活密钥最新2026

Office2021密钥激活码,Office2021专业版产品激活密钥最新2026

Office2021密钥激活码,Office2021专业版产品激活密钥最新2026
以下是 Office2021 Pro Plus 免费激活 KEY:83C28-2NYWG-W96CX-76HMW-W47RXA4XV7-QP9JN-E7FCB-VQFRD-4NLKC648VN-VYYC7-2PXHJ-J8CXK-FRKJKBJPC4-D2N6M-KBQR6-6YWY7-CYXJKWQ2N8-G3RGM-C3B78-KX6MP-RVYFXBVP7M-NYJ7D-443Q4-PJ7V3-FM8M98VHYN-BP36X-P6VY7-HK8DT-GMXJKAD3XE-7FZDV-VMMB9-6M5SD-VODYFFMWMQ-H8N8X-98W...
office2010 产品密钥,office2010永久激活密钥最新分享包括图文教程

office2010 产品密钥,office2010永久激活密钥最新分享包括图文教程

office2010 产品密钥,office2010永久激活密钥最新分享包括图文教程
说明:office2010 零售版密钥和 kms 密钥激活方法不一样,下面都有提供对应的激活流程。零售版密钥有很大可能性失效,毕竟零售版密钥不是免费的,建议大家使用永久免费的 kms 密钥激活或者使用激活工具一键激活。office 激活工具 kms|office 破解工具 v11.2(office2010/2013/2016)office 激活软件是针对 office vl 版的激活...
office 2021正式版激活密钥,office2021专业正式版产品激活码免费分享

office 2021正式版激活密钥,office2021专业正式版产品激活码免费分享

office 2021正式版激活密钥,office2021专业正式版产品激活码免费分享
office2021 激话密钥如下所示:GRBR4-J4N3M-KTX9C-JM4PJ-J8HPT (暴风侠应用的是此激话密钥)NJHVR-FK6XR-M97MB-P8CXD-FM4PJNXVJY-X9T8G-Y6RWG-8VQ7V-PWHPTW8W6K-3N7KK-PXB9H-8TD8W-BWTH9N9J9Q-Q7MMP-XDDM6-63KKP-76FPM9DP6T-9AGWG-KWV33-9MPC8-JDCVF7G2HE-JR8KL-ABB9D-Y7789-GLNFLU2PWU-H7D9H-69T3B-JEYC2-3R2NGR8R8...