先吐槽下,今天网站速度实在是太慢了;周末无聊,看了下缩略图顺便弄上了,其实这主题已经添加了这个功能,不过没有调用而已。对于一般无缩略图的,按照如下即可:
一、在主题文件夹下的functions.php添加代码
// post thumbnail support 缩略图支持 add_theme_support( 'post-thumbnails' ); function post_thumbnail( $width = 160,$height = 100 ){ global $post; if( has_post_thumbnail() ){ $timthumb_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full'); $post_timthumb = '<a href="'.get_permalink().'"><img src="'.get_bloginfo("template_url").'/timthumb.php?src='.$timthumb_src[0].'&h='.$height.'&w='.$width.'&zc=1" alt="'.$post->post_title.'" class="thumb" title="'.get_the_title().'"/></a>'; echo $post_timthumb; } else { $content = $post->post_content; preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); if($n > 0){ echo '<a href="'.get_permalink().'"><img src="'.get_bloginfo("template_url").'/timthumb.php?w=160&h=100&src='.$strResult[1][0].'" title="'.get_the_title().'" alt="'.get_the_title().'"/></a>'; } else { echo '<a href="'.get_permalink().'"><img src="'.get_bloginfo('template_url').'/images/random/'.rand(1,10).'.jpg" title="'.get_the_title().'" alt="'.get_the_title().'"/></a>'; } } }
如果设置特色图像,那么首页缩略图就调用特色图像;如果没有设置特色图像,文章中有图片,则调用第一张作为缩略图,文章中没有图片,则调用/images/random文件夹中随机一张作为缩略图
二、在主题文件index.php,category.php里面适当的位置添加
<?php post_thumbnail(); ?>
三、添加适当的CSS样式
PS:本站现在使用的缩略图代码,同理添加到functions.php里面
//缩略图设置 add_theme_support('post-thumbnails'); set_post_thumbnail_size(200, 140, true); //缩略图获取 function post_thumbnail($width = 200,$height = 140) { global $post; if ( has_post_thumbnail() ) { $domsxe = simplexml_load_string(get_the_post_thumbnail()); $thumbnailsrc = $domsxe->attributes()->src; echo '<img width="200" height="140" src="'.$thumbnailsrc.'" alt="'.trim(strip_tags( $post->post_title )).'" />'; } else { $content = $post->post_content; preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); if($n > 0){ echo '<img width="200" height="140" src="'.$strResult[1][0].'" alt="'.trim(strip_tags( $post->post_title )).'" />'; }else { echo '<img width="200" height="140" src="'.get_bloginfo('template_url').'/img/sj/'.rand(1,7).'.jpg" alt="'.trim(strip_tags( $post->post_title )).'" />'; } } }
友情提示下:请在图片目录img下建立sj文件夹,其中随机图片请以1~7.jpg命名;有些图片目录可能为images,请注意区分和自行修改,调用方法同上...
跟我之前用的代码差不多,后来还是觉得直接把图片上传到本地服务器比较好维护,就不用这么冗长的代码了
comments-ajax测试
看着这么多的代码 有点头疼
wp缩略图的实现形式太多了