我不再使用TimThumb–以下是我所做的

上周有TimThumb中发现的第二个漏洞谢天谢地,它远没有第一个那么糟糕,但它提出了一个有趣的问题,即TimThumb是否还需要。

TimThumb是为了对任何项目都有用而设计的——它从来都不是特定于WordPress的——所以从这个角度来看,肯定还有一些人对它感兴趣,但我真的不在乎。我专注于WordPress——那里需要它吗?我认为没有。

在第一次攻击之后,我继续在双星月亮上使用TimThumb。我想表明,已实施的修复是可靠的,没有人应该担心(似乎我错了),但大约6个月后,我决定开始正确使用WordPress帖子缩略图功能。

我一直在慢慢远离主题框架,而专注于入门主题,并使用WordPress编码标准和最佳实践。我想用“WordPress方式”做每件事。

使用WordPress内置的帖子缩略图功能非常直接。您注册一些图像大小,然后调用函数来获取图像html。然而,它也存在一些问题:

WordPress文章缩略图问题

  1. 图像大小在历史上不起作用。您可以轻松添加新图像大小,但不会更改旧图像。
  2. 这些图像依赖于使用特色图像。如果没有特色图像,则不会显示缩略图。
  3. 默认情况下,它不使用cdn,并且被包装在函数中,使用cdn更困难。

WordPress帖子缩略图问题的解决方案

多年来,我看到了这些问题,并想出了解决它们的方法。

图像大小

我喜欢重新生成缩略图插件ViperBond提供。这对你想调整图像大小或改变主题的时候来说很好。它在本地也很有效,这意味着我可以更容易地测试我正在制作的新主题。

作为旁白,我也经常使用css背景尺寸:封面有助于保持一致的属性,在进行响应性设计时非常有用。

对于那些历史上没有图片功能的网站来说,这可能是一个问题,或者只是因为人们忘记添加图片或没有意识到必须添加图片。我在双子星月亮上写博客已经将近10年了,但特色图片只出现了一半的时间。通过一些代码,我可以确保图像在可用时显示出来。

您只需将以下代码添加到您的主题functions.php

函数bm_my_post_thumbnail_html($html,$post_id,$thumbnal_id,$size=''){if(空($html)){$values=获取孩子(阵列(“post_parent”=>$post_id,“post_type”=>“附件”,“post_mime_type”=>“图像”,“订单”=>“ASC”,“orderby”=>“menu_order”,“numberposts”=>1,));if($值){foreach($values作为$child_id=>$attachment){$html=wp_get_attachment_image($child_id,$size);断裂;}}}返回$html;}add_filter('post_thumbnail_html','bm_my_post_thumbcnail_html',10,4);

缺少CDN

如果你是一名程序员,那么你可以很容易地设置一个过滤器来更改图像url,或者你可以安装许多缓存插件中的一个,比如W3总缓存可以设置为自动上传图像并更改url。一切皆有可能,但即使是插件也需要设置cdn/s3存储桶,因此对于技术水平较低的用户来说并不那么容易。

Jetpack&Photon–终极图像解决方案

我知道很多人不喜欢Jetpack飞机但我是个超级粉丝。我认为它有很多优点,但今天我只想提一下光子光子有两个主要用途。

  1. 这是一个图像cdn(内容交付网络)
  2. 它可以无缝调整图像大小(历史或其他)。

我应该注意,Photon只有在使用Jetpack时才可用。否则使用它是违反使用条款的。基本上,Photon解决了TimThumb解决的几乎所有问题,因此它是一个非常简单的一站式快速调整图像大小的商店。

有趣的是,前面提到的开发人员重新生成缩略图WordPress插件现在建议也使用Jetpack。

让我知道你的想法乳齿象,或蓝天 (或推特X(X)如果必须的话)

WordPress新闻

WordPress的最新更新WPBriefs播客

相关帖子

2014年6月26日

发现新的TimThumb漏洞

今天有报道称发现了一个新的TimThumb漏洞。不幸的是,在漏洞被宣布之前,没有人告诉我这一点——事实上,我是通过wptavern.com发现这个漏洞的,所以我还不能。。。
2013年5月27日

年轻10岁,未来会怎样?

WordPress现在已经10岁了。我9年前开始使用wordpress,这意味着我很早就加入了wordpress社区。我选择wordpress的原因只是因为传说中的5分钟安装过程——我。。。
2013年5月14日

重新设计WordPress Post编辑器

Ghost是一个因WordPress的失败而诞生的项目。具有讽刺意味的是,似乎大多数WordPress的超级用户都想使用它。由约翰·奥诺兰领导的Ghost团队上周在KickStarter上发布了Ghost,它。。。
2009年10月11日

如何使TimThumb与WordPress多站点协同工作

TimThumb是为Mimbo Pro创建的一个流行的图像大小调整脚本,但它从未与WordPress MU一起正常工作过,所以我想更改它。它不起作用的原因很简单。因为WordPress。。。
2010年11月4日

TimThumb疑难解答秘诀

我经常被问到关于TimThumb的问题,以及为什么它在某些情况下不起作用。我通常可以在收到演示url后的大约60秒内判断出脚本有什么问题。以下是我的主要建议。。。