正务库

wordpress缩略图 裁剪改良

时间:2年前   游览量:374    标签: nbsp    缩略    post    quot    图片    如果    显示    php   

之前大叔写过的一篇教程,完美的解决了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.             $post_thumbnail_src = 1;

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

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

  21.         }

  22.     };

  23.     return $post_thumbnail_src;

  24. }

调用到要显示缩略图的地方为:

  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"/>

需要就该块进行一个判定代码如下:

  1. <?php if (post_thumbnail_src() != 1) { ?>

  2. 图片块

  3. <?php } else { } ?>

如上代码所示,将判定的套到显示缩略图的外部,来进行判定文章内是否存在图片,如果存在,那么就输出缩略图,如果没有,那么就输出无!

最后,将timthumb.php放到主题文件的根目录下。

到了这步骤,基本OK,wordpress缩略图 的实现就是这样,不能理解的朋友。。还是多了解一些基础常识吧!

下面,我将一些代码片段文件,整理成php文件,供大家下载研究吧!