今天讲的同样还是timthumb来做wordpress缩略图裁剪,但是今天讲的算是更人性化,更高定制的版本教程;之前的教程,有个问题就是调用函数输出的是包含了整个<img src="*****" >而不是缩略图的地址,所以在制作wordpress主题中需要直接获取到缩略图的地址的时候,之前的教程就需要修改了,可大叔也懒的在之前的wordpress教程进行修改了,直接上新教程吧!
方法很简单,将一下代码放入你们wordpress主题文件的functions.php内,
- function post_thumbnail_src(){
- global $post;
- if( $values = get_post_custom_values("thumb") ) {
- $values = get_post_custom_values("thumb");
- $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);
- if(!emptyempty($matches[1][0])){
- $post_thumbnail_src = $matches[1][0];
- }else{
- $random = mt_rand(1, 5);
- $post_thumbnail_src = get_template_directory_uri().'/images/random/'.$random.'.jpg';
-
-
- }
- };
- echo $post_thumbnail_src;
- }
根据上述的描述,是需要在你们wordpress主题根目录下的images里创建个random文件夹,并且放入5张图片来作为无图时的随机调用图片显示!
接下来就是,将timthumb.php文件放入到wordpress主题根目录下,
最后就是调用了,
- <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模式的,大家去附件区下载!