自动批量增加特色图的方法网上介绍了很多,本人也亲自测试了很多;但适合自己的才是最好的。
如果有设置过特色图片则取特色图片,如果没有设置特色图片则取文章第一张图片(远程的图也可以);如果两者都没有,那就不要了,直接纯文字;本人不喜欢那种没有图也硬挂个通用图的那种代码。
在functions.php里加上如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
//缩略图获取post_thumbnail function post_thumbnail() { global $post; //如果有特色图片则取特色图片 if ( has_post_thumbnail() ) { echo '<a href="'.get_permalink().'" class="thumbnail">'; $domsxe = simplexml_load_string(get_the_post_thumbnail()); $thumbnailsrc = $domsxe->attributes()->src; echo '<img src="'.$thumbnailsrc.'" alt="'.trim(strip_tags( $post->post_title )).'" />'; echo '</a>'; } 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 src="'.$strResult[1][0].'" alt="'.trim(strip_tags( $post->post_title )).'" />'; } } } |
然后在模板页用这个调用就行:
1 |
<?php post_thumbnail(); ?> |
当然,图片的尺寸大小,我觉得还是用css参数max-width与max-height控制最好。这个就显得更加灵活,没有必要把图片框死成固定高宽最好。