WordPress不仅仅是一个博客,在很多情况下还被用作CMS(内容管理系统)。博客作者喜欢给每篇文章添加统一大小的缩略图,
WordPress不仅是博客,很多时候WordPress还被用作为CMS(内容管理系统).博主们喜欢为每个文章加上统一大小的缩略图,尤其是信息类平台.其中比较常用的处理办法是用customfield向文章插入图片,通过上传大小一致的小图或者使用phpThumb等工具生成缩略图.2.7开始,WordPress大幅提升多媒体功能,越来越多人使用WP的内置图片仓库.对这些用户来说,制作缩略图变得并不那么困难,在上传图片的时候就会默认生成150x150规格的小图(如果图片高度/宽度不足150px,使用原高度/宽度).那我们可以充分利用这个功能,在文章列表上加上这个图片作为缩略图.这样处理各有利弊,好处是简单,智能(不用每次输入缩略图),坏处是消耗服务器流量.
Okay,现在要做的就是提取上传生成的小图片,并放置在文章的适当位置.我创建了一个文件thumb.php,图片获取和调用一起处理,文件内容如下.
复制代码代码如下:
<?php
$args=array(
'numberposts'=>1,
'order'=>'ASC',
'post_mime_type'=>'image',
'post_parent'=>$post->ID,
'post_status'=>null,
'post_type'=>'attachment'
);
$attachments=get_children($args);
$imageUrl='';
if($attachments){
$image=array_pop($attachments);
$imageSrc=wp_get_attachment_image_src($image->ID,'thumbnail');
$imageUrl=$imageSrc[0];
}else{
$imageUrl=get_bloginfo('template_url').'/img/default.gif';
}
?>
<ahref="<?phpthe_permalink()?>"><imgclass="left"src="<?php_fcksavedurl=""<?php"_fcksavedurl=""<?php"echo$imageUrl;?>"alt="<?phpthe_title();?>"width="150"height="150"/></a>
这段代码会去找第一个上传的图片缩略图(如果第一个图片被删除,则找第二个的,如此类推...),如果找不到任何上传图片则使用默认图片
然后在文章列表index.php,存档页面archive.php和搜索页面search.php中调用,调用代码如下.
复制代码代码如下:
<?phpinclude('thumb.php');the_content('ReadMore...');?>
这段代码是把图片放在文章内容前面,图片如何摆放需要用CSS调整一下布局,这里就不多说了.
最后我两留两个问题给同学们.
1.如果图片高度或者宽度不足150px,这样做必然将图片拉伸,很不美观.用什么办法可以让图片都显示为150x150,并居中显示?提示:可以用CSS实现,类似方法可以在ElegantBox主题中找到.
(答案请看文章《用CSS背景属性代替图片SRC》)
2.在文章列表中,我们只希望看到缩略图,而屏蔽其他所有图片,除了使用文章摘要去除所有标签样式,是否有其他方法可以做到?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)