Wordpress 非插件实现首页文章缩略图
来源:程序员人生 发布时间:2014-01-01 05:22:56 阅读次数:3712次
一直坚持可以不用插件实现的功能尽量不用插件,即使有些插件功能强大,定制度高,但是越来越多插件会让网站越来越复杂沉重。
第一步:在functions.php文件里加入一下代码。
function dp_attachment_image($postid=0, $size='', $attributes='') {
if ($postid<1) $postid = get_the_ID();
if ($images = get_children(array(
'post_parent' => $postid,
'post_type' => 'attachment',
'numberposts' => 1,
'post_mime_type' => 'image',)))
foreach($images as $image) {
$attachment=wp_get_attachment_image_src($image->ID, $size);
?><img src="<?php echo $attachment[0]; ?>" <?php echo $attributes; ?> /><?php
}
}
该代码为定义一个名为dp_attachment_image()的函数已实现缩略图功能。其中用$size参数来控制缩略图大小,该参数有四个值:thumbnail, medium, large,full,从小到大分别对应WordPress里存储图像的四个尺寸。
第二步:在index.php中调用dp_attachment_image()函数。一般配合the_excerpt()函数将其放在the_excerpt()函数前面,举例如下:
<div class="postThumb">
<a href="<?php the_permalink() ?>">
<?php dp_attachment_image($post->ID,'medium', 'alt="' . $post->post_title . '"'); ?>
</a>
</div>
<div class="textPreview">
<?php the_excerpt(); ?>
</div>
其中给定$size的参数为medium,即是将WordPress中缩略图图片尺寸为中等尺寸的图片作为文章缩略图。
效果如下图:
总结:
1.用此方法主要是利用WordPress自动生成的缩略图进行显示,所以调用函数是不会另外生成缩了图,节省了空间。但是弊端是缩略图大小只能用四个参数,所以在用此方法时应该在WordPress后台媒体库设置里预先设置好希望显示的缩略图尺寸。
2.另外,其实从WordPress2.9开始,就提供了一个the_post_thumbnail()函数来调用当前文章里图片的缩略图,只需要在functions.php里加入add_theme_support( ‘post-thumbnails’ );进行声明即可,用法和上面的方法基本一样,但是无奈本人用此方法时不显示缩略图,至今不知道是什么原因,如有高手懂的麻烦指点下。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠