|
wordpress会自动生成缩略图,中等图片,以及大图。除非你将它关闭了。
主题里调用wordpress生成的缩略图方法如下:
在调用缩略图之前,你需要激活缩略的功能。
add_theme_support( 'post-thumbnails' );
将这段代码插入到functions.php中,插入后,你在写文字时,就会增加有一个插入特色图片的功能。
这时你需要插入一张特色图片,以便后面的调用。
the_post_thumbnail();这个函数直接调用特色图片,将其插入你需要插入的位置即可,前面不需要输入echo,但是这个调用显示的原始图片,并非缩略图。
set_post_thumbnail_size("260","160");将这段代码插入到functions.php中后,the_post_thumbnail();这个函数调用图片时,会自动将图片等比例压缩到宽260或者高160,但是也只是尺寸改小了,图片仍然是原始图片!
the_post_thumbnail('thumbnail');这个函数调用的是wordpress系统生成的默认的缩略图,一般生成的是150*150大小的,修改这个设置是在【设置】-【媒体】中修改缩略图尺寸。修改后,只能影响你以后上传的图片,无法影响到以前的图片。使用这个函数调用的是缩略图本身。
the_post_thumbnail(array(200,100));使用这个函数,可以自定义特色图片的尺寸,虽然尺寸可以改的很小,但是图片本身还是原始图片,并非缩略图,所以图片本身还是相对比较大的,占用流量,影响网站速度
如何生成自定义缩略图?
下载一个缩略图类库,
下载地址链接: https://pan.baidu.com/s/1eS3vJSFe3K_1RDzsZsdelQ 提取码: 6666
下载后放在主题的根目录下,一般与functions.php和style.css和index.php是同级目录。
然后在functions.php中插入如下代码:
//输出缩略图地址
function post_thumbnail_src(){
global $post;
if( $values = get_post_custom_values("thumbnail") ) { //输出自定义域图片地址
$values = get_post_custom_values("thumbnail");
$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(&#39;/<img.+src=[\&#39;&#34;]([^\&#39;&#34;]+)[\&#39;&#34;].*>/i&#39;, $post->post_content, $matches);
$post_thumbnail_src = $matches [1] [0]; //获取该图片 src
if(empty($post_thumbnail_src)){
$post_thumbnail_src = get_bloginfo(&#39;template_url&#39;).&#34;/images/no-image.jpg&#34;; //如果日志中没有图片,则显示默认图片
}
};
echo $post_thumbnail_src;
}
网页如何动态调用缩略图
在需要调用缩略图的地方插入如下代码:
<img src=&#34;<?php bloginfo(&#39;template_url&#39;);?>/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&h=150&w=200&zc=1&#34; alt=&#34;<?php the_title(); ?>&#34; class=&#34;thumbnail&#34;/> 注意这段代码是HTML代码开头的,不能直接放在PHP代码里哦。如果你正在编辑的是一段PHP代码,解决方案如下,
?>
<img src=&#34;<?php bloginfo(&#39;template_url&#39;);?>/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&h=150&w=200&zc=1&#34; alt=&#34;<?php the_title(); ?>&#34; class=&#34;thumbnail&#34;/>
<?php在代码前加入 ?> 用于结束PHP代码,在代码后加入 <?php 用以继续后面的PHP代码,这样就可以了。
修改缩略图的宽度和高度,只需要修改代码里的 h=150 ,w=200,宽度改成260,高度改成160的代码如下:
这段代码调用的是缩略图,并非原图改小尺寸,所以,图片本身是比较小的。
<img src=&#34;<?php bloginfo(&#39;template_url&#39;);?>/timthumb.php?src=<?php echo post_thumbnail_src(); ?>&h=160&w=260&zc=1&#34; alt=&#34;<?php the_title(); ?>&#34; class=&#34;thumbnail&#34;/>

最后成功调用并显示缩略图,缩略图大小是自己设置的大小
文章来源于: |
|