也想出现在这里?联系我们

wordpress缩略图 裁剪改良

2015.12.15 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.             $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文件,供大家下载研究吧!

有用32
  • 2015.12.15初次和大家见面了!

等待您对该主题的建议

发表评论

还能输入240个字

Hi, 欢迎加入Wordpress技术交流群,带你装逼带你飞!

我要入群
也想出现在这里?联系我们
wordpress加速

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧