在WordPress插件:显示flickr上的图片-flickrRSS使用详解中我介绍了flickrRSS插件的简单应用,也列举了如何在留言框下面显示flickr上最新发布的标签为:hangzhou的图片。但阿德总感觉这样太单调了,可不可以在这个位置显示与这篇文章内容相关的图片呢?如果可以岂不是太爽了?答案当然是肯定的!要不就不会有这篇博文了,呵呵。![]()
方法
1. 在打开主题文件夹下的single.php,在
<div class=”post” id=”post-<?php the_ID(); ?>”>
……….
</div><!–/post –>
之间添加如下代码:
<?php
$tags = explode(“, “, get_the_tag_list(”,’, ‘,”));
$first_tag=preg_replace(‘|<a\s.*?>(.*?)</a>|i’, ‘\1′, $tags[0]);
?>
2. 将flickrRSS使用详解里面提到的
<div id=”related-pic”>
<?php get_flickrRSS(8, “community”, “$first_tag”, “square”, “ ”, “ ”); ?>
</div>
修改为:
<div id=”related-pic”>
<?php get_flickrRSS(8, “community”, “$first_tag”, “square”, “ ”, “ ”); ?>
</div>这段代码在新的flickr5.0版本中不适用了,具体解决方法看这里flickrRSS高阶应用三部曲之新版本flickrRss 5.0补录
另外你可以参考不同浏览器里图片大小不同的解决方法
原理就是显示flickr上标签与文章第一个标签相同的图片,但是注意:文章的第一个标签并不是你在编辑时候输入的第一个标签,而是按照字母排序的第一个标签。
当然你也可以再这设置个$second_tag让它显示包含头2个标签的图片。不过我发现这样会很少有符合条件的图片,很多情况下一张都没有(主要是因为flickr上的标签英文居多,我们博客的标签中文居多)。
Advanced
发挥你的想象力,get_flickrRSS()真的是很好很强大阿,它一共可以设置7个参数,下面的参数介绍你或许用得着。
$num_items– how many photos you want to appear 显示多少图片$type– specify user, set, favorite, group or community photosream 设置是在用户的所有图片,还是用户的收藏,还是。。。。中搜索$tags– a comma separated list of tags (with no spaces) 标签$imagesize– square, thumbnail, medium or large 图片大小
$before_image– html appearing before each photo 插入每张图片之前的html代码$after_image– html appearing after each photo 插入每张图片之后的html代码$id_number– specify a user id (or group name) 在特定的用户或者组中搜索$set_id– specify the set id (found in set url)
- 本文为原创,转载文章请注明: 阿德日志(http://blog.shidelai.cn/2008/06/essay-photo.html)















2008-07-4 at 15:42
[...] WordPress博客中显示与文章内容相关的Flickr图片 [...]
2008-12-11 at 9:30
学习了2天了,问一下,你的评论栏下的图片之间的空格怎么控制?为甚麽我的都是紧挨着的!
回复
阿德Delai reply on December 11th, 2008 22:26:
# $before_image – html appearing before each photo 插入每张图片之前的html代码
# $after_image – html appearing after each photo 插入每张图片之后的html代码
这两项可以用 html语言的空格
你试试
< ?php get_flickrRSS(8, "community", "$first_tag", "square", " ", " "); ?>
回复
阿德Delai reply on December 11th, 2008 22:29:
最后没那两个参数,实际上是
“& nbsp;”, “& nbsp;” (nbsp前面的空格去掉)
是html语言里的空格,我原原本本把代码拷过来,浏览器还是会把它解析成空格给你看的,
所以你看到的是
< ?php get_flickrRSS(8, "community", "$first_tag", "square", " ", " "); ?>
你试试将最后两个双引号里面的空格改成 & nbsp (nbsp前面的空格去掉)
回复
阿德Delai reply on December 11th, 2008 22:35:
文章内的代码部分已经用图片代替了
回复
tsman reply on December 15th, 2008 10:46:
谢谢!再调整调整
回复
2010-04-4 at 2:45
[...] flickrRSS 高阶使用三部曲之二:在WordPress博客中显示与文章内容相关的Flickr图… (6) [...]