在模板的主循环里,在你需要显示图片的位置中添加如下代码:
<img src="<?php echo catch_that_image() ?>" alt="" />
建议为该代码前后添加一个<div>
的以方便控制它的样式,比如大小,是否浮动显示等。不要忘记的是,你必须在主题模板的function.php文件内同时添加上下面的功能代码,否则图片不会自动读取:
function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "在这里指定如果没有图片则显示的默认图片路径"; } return $first_img; }
这样,系统就能自动读取在该篇文章中的第一个图片,注意是第一个;所以请把需要作为缩略图显示的图片放在日志中的首位。
所有上面操作都完成后,在后台新建页面,选取刚建立的页面模板,也不用写什么内容的了,存档后访问该页面,就会显示那些需要显示的文章,还有文章内的第一个图片。
当然,你也可以使用wordpress的自定义域来实现首页缩略图,这样会稍麻烦点,但可控性更强点。详细见:WordPress的自定义域 http://muxer.cn/272.html
本文节转自: Jinwen Say
THE END
不行。还是全部调用
好像3.0后条用图片更简单了,可以不用这样的代码了。
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
太感谢了!我原来测试的时候是提示这一句出错,可是我自己不会改,问原作者又没回话,所以就一直放着了,真是太感谢你了!!!
可能是原作者写错了吧!
$output = preg_match_all('//i', $post->post_content, $matches); 是这样才对吧!
更喜欢,自定义域的方式
这个思路好。
怎么了,这么伤心?。。。
不是桑心,是感动。。
是个好方法,比自定义域要简单
自定义域用起来太麻烦了。
我的主题有附带这个功能
和这个是一摸一样的?
恩,这个简单!
牛人那搬过来的,据说wpg的杂志主题用的就是这个.