之前大叔写过的一篇教程,完美的解决了wordpress缩略图 裁剪的功能,而今天,再开一篇文章,是经上个教程的改良版,该功能的上一篇教程请进:《wordpress缩略图裁剪 timthumb(二)》
叙述,如果遇到需要就文章内无图片无特色图像的情况下,那么默认就不显示出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]; //获取该图片 src
- }else{ //如果日志中没有图片,则显示随机图片
- $post_thumbnail_src = 1;
- //如果日志中没有图片,则显示默认图片
- //$post_thumbnail_src = get_template_directory_uri().'/images/default_thumb.jpg';
- }
- };
- return $post_thumbnail_src;
- }
调用到要显示缩略图的地方为:
- <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"/>
需要就该块进行一个判定代码如下:
- <?php if (post_thumbnail_src() != 1) { ?>
- 图片块
- <?php } else { } ?>
如上代码所示,将判定的套到显示缩略图的外部,来进行判定文章内是否存在图片,如果存在,那么就输出缩略图,如果没有,那么就输出无!
最后,将timthumb.php放到主题文件的根目录下。
到了这步骤,基本OK,wordpress缩略图 的实现就是这样,不能理解的朋友。。还是多了解一些基础常识吧!
下面,我将一些代码片段文件,整理成php文件,供大家下载研究吧!