wordpress缩略图裁剪 timthumb(二)

时间:2020-08-01   阅读:470

之前大叔就讲过使用timthumb来对wordpress的缩略图进行规格尺寸的裁剪的教程,请移步 《wordpress缩略图尺寸重新裁剪 timthumb》 然后今天讲的同样还是timthumb来做wordpress缩略图裁剪,但是今天讲的算是更人性化,更高定制的版本教程;之前的教程,有个问题就是调用函数输出的是包含了整个<img src="*****" >而不是缩略图的地址,所以在制作wordpress主题中需要直接获取到缩略图的地址的时候,之前的教程就需要修改了,可大叔也懒的在之前的wordpress教程进行修改了,直接上新教程吧!

 wordpress缩略图裁剪 timthumb(二) 文章

方法很简单,将一下代码放入你们wordpress主题文件的functions.php内,

  1. //输出缩略图地址

  2. function post_thumbnail_src(){

  3.     global $post;

  4.     if( $values = get_post_custom_values("thumb") ) {   //输出自定义域图片地址

  5.         $values = get_post_custom_values("thumb");

  6.         $post_thumbnail_src = $values [0];

  7.     } elseif( has_post_thumbnail() ){    //如果有特色缩略图,则输出缩略图地址

  8.         $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');

  9.         $post_thumbnail_src = $thumbnail_src [0];

  10.     } else {

  11.         $post_thumbnail_src = '';

  12.         ob_start();

  13.         ob_end_clean();

  14.         $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);

  15.         if(!emptyempty($matches[1][0])){

  16.             $post_thumbnail_src = $matches[1][0];   //获取该图片 src

  17.         }else{  //如果日志中没有图片,则显示随机图片

  18.             $random = mt_rand(1, 5);

  19.             $post_thumbnail_src = get_template_directory_uri().'/images/random/'.$random.'.jpg';

  20.             //如果日志中没有图片,则显示默认图片

  21.             //$post_thumbnail_src = get_template_directory_uri().'/images/default_thumb.jpg';

  22.         }

  23.     };

  24.     echo $post_thumbnail_src;

  25. }

根据上述的描述,是需要在你们wordpress主题根目录下的images里创建个random文件夹,并且放入5张图片来作为无图时的随机调用图片显示!

接下来就是,将timthumb.php文件放入到wordpress主题根目录下,

最后就是调用了,

  1. <img src="<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&w=300&h=230&zc=1" alt="<?php the_title(); ?>" class="thumbnail"/>

这是<img src="*****" >标签的全部调用格式,当然在img标签里增加你们的个性化标签也就来的简单的多,特别是做wordpress主题开发的时候,经常要在img标签里扩展,而这就是之前那wordpress教程无法做到的,当然如果仅仅只需要获取wordpress缩略图的图像地址,那自然截取src里的地址即可,里面的w=314 h=241分别表示缩略图的宽和高!

最后,在wordpress主题的根目录下创建个cache文件夹,给予777或755权限,最后。。。如果是使用vps的朋友,建议给cache文件夹给予禁止php的操作!这个方法在上一个教程里有说到!

听大家说上面的代码复制后有错误,所以大叔将所有代码都写在php文件里,采用了utf-8无bom模式的,大家去附件区下载!

注:2015、12、15更新 《wordpress缩略图 裁剪改良》

上一篇:wordpress教程:免插件实现No Category Base效果:去除分类标志

下一篇:wordpress的评论头像 Gravatar头像打不开?完美解决方法

网友评论