用timthumb.php给WordPress添加缩略图

timthumb.php是一个由Google开发的插件,现在有很多国外的Theme都使用这个插件给WordPress添加缩略图。

使用它有一个方便的好处,那就是你只需要指定一张图片便可以了,只要任何有执行代码的地方它都会自动实现缩略图功能。是不是非常方便呢?

那么现在就开始实施过程吧。

在你需要实现缩略图的地方,比如主题的index.php里,找到这句:

  1. <?php the_title(); ?>

这句通常表示首页调用的文章标题,对,就是这里了。

现在需要在这句上面添加如下代码:

  1. <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
  2. <?php $thumbnail = get_post_meta($post->ID, 'thumbnail', true); ?>
  3. <?php if($thumbnail !== '') { ?>
  4. <img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $thumbnail; ?>&amp;h=100&amp;w=100&amp;zc=1" alt="<?php the_title(); ?>" />
  5. <?php } ?>
  6. </a>

OK!

如果有多行表示标题的代码的话,在美航上面都添加代码。

接下来就是在发布文章时如何调用了:

发布文章是,在“添加新自定义域”里添加一个名称为“thumbnail”,值为图片路径的自定义域。

好了,去首页刷新看看效果吧。

已知问题:

  • 如果图片框出来了但是看不到图片,请把图片路径的值改为相对路径。这可能是某些虚拟主机的参数设置问题导致的。反正绝对路径不显示的话改为相对路径就一定会显示的。

下面就timthumb.php的参数设置做些解释:

上列代码中的

h=100&amp;w=100&amp;zc=1

你可以自己修改,比如这句代表图片高度(h)与宽度(w)为100像素,并且自动裁剪(这样图片不会变形)。

timthumb.php的说明如下:

  1. Paramters
  2. ---------
  3. w: width
  4. h: height
  5. zc: zoom crop (0 or 1)
  6. q: quality (default is 75 and max is 100)

总而言之,你可以根据自己的需要对其进行修改。

对了,忘记说了,必须要把这个timthumb.php文件上传到你当前所使用的主题文件夹根目录里,再手动建立一个名为cache的文件夹哦,该文件夹属性为644即可,如果不行再尝试别的属性!

至于图片与文章排列的美观问题则属于CSS的范畴了,看官自行查找相关文章学习吧。

本文链接: http://www.soundghost.com/add-thumbnail-with-timthumb-php-to-wordpress.html

相关日志

2 Comments

  1. passionke
    Posted 2011年4月1日 at 下午 10:23 | Permalink

    我使用这个timthumb可以在cache里面生成文件
    但就是不显示啊 在笔记本上功能正常 在台式电脑就不行

    weeper 回应:

    抱歉现在太少时间来这里了。
    你有没有检查是否是因为绝对路径或相对路径引起的故障呢?

  2. hellohexiang
    Posted 2011年4月26日 at 下午 9:28 | Permalink

    请问怎么把绝对地址改为相对地址啊?
    我的地址是http://www.baby.ddisk.com/wp-content/themes/DailyNotes/timthumb.php?src=http://www.baby.ddisk.com/wp-content/uploads/2011/04/123.jpg&h=200&w=200&zc=1
    显示路径错误 我应该怎么修改 在哪个地方修改 希望得到博主指点谢谢

    weeper 回应:

    绝对路径:
    http://www.baby.ddisk.com/wp-content/uploads/2011/04/123.jpg
    相对路径:
    wp-content/uploads/2011/04/123.jpg

    不知这下你是否明白了?也就是去掉http://你的域名/。

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*