‘wordpress’ 分类下的文章
2009/0325

flickrRSS高阶应用三部曲之新版本flickrRss 5.0补录

分类:wordpress | 发表评论(12 条评论) | 点击量:736次

因为wordpress更新的原因,flickrRSS也相应做了更新,改变了函数参数的编写方式,并加入了更易于配置的html参数。总之,更强大了,使用也更复制了。

我在flickrRSS高阶使用三部曲之二:在WordPress博客中显示与文章内容相关的Flickr图片中提到的在文章后面显示与文章内容相关的flickr图片的功能如果不加以修改是不能使用的。拖了好几个星期,今天因为改了域名(www.shidelai.cn),所以想有个好的开始,把新的代码搞出来了,和原来的效果一样,接近完美。你可以根据我的代码加以修改成自己的代码,比如如果你的页面比较窄,那么可以把’num_items’ => 8修改为’num_items’ => 5等等。

具体方法如下:

flickrRSS高阶使用三部曲之二:在WordPress博客中显示与文章内容相关的Flickr图片

<?php get_flickrRSS(8, “community”, “$first_tag”, “square”, “&nbsp;”, “&nbsp;”); ?>

修改为:

<?php get_flickrRSS(array(‘num_items’ => 8, ‘type’ => ‘public’, ‘tags’ => “$first_tag”, ‘html’ => ‘&nbsp;<a href=”%flickr_page%” title=”%title%”><img src=”%image_square%” alt=”%title%”/></a>&nbsp;’)); ?>

就OK了。

参数解释:

The Parameters

‘type’ => ‘user’ – The type of Flickr images that you want to show. Possible values: ‘user’, ‘favorite’, ‘set’, ‘group’, ‘public’

‘tags’ => ” – Optional: Can be used with type = ‘user’ or ‘public’, comma separated

‘set’ => ” – Optional: To be used with type = ‘set’

‘id’ => ” – Optional: Your Group or User ID. To be used with type = ‘user’ or ‘group’

do_cache’ => false – Enable the image cache

‘cache_sizes’ => array(‘square’) – What are the image sizes we want to cache locally? Possible values: ‘square’, ‘thumbnail’, ‘small’, ‘medium’ or ‘large’

‘cache_path’ => ” – Where the images are saved (server path)

‘cache_uri’ => ” – The URI associated to the cache path (web address)

Presentational params

‘num_items’ => 4 – The number of images that you want to display

‘before_list’ => ‘ – The HTML to print before the list of images

‘html’ => ‘<a href=”%flickr_page%” title=”%title%”><img src=”%image_square%” alt=”%title%”/></a>’ – the code to print out for each image.

Meta tags available: %flickr_page%, %title%, %image_small%, %image_square%, %image_thumbnail%, %image_medium%, %image_large%

‘default_title’ => “Untitled Flickr photo” – the default title

‘after_list’ => – the HTML to print after the list of images

Examples

<?php get_flickrRSS(array(‘num_items’ => 4, ’type’ => ‘public’, ’tags’ => ‘sunflowers’)); ?> – This will display four photos from the public stream that are tagged with sunflowers

<?php get_flickrRSS(array(‘set’ => ’1234567890′, ’num_items’ => 6, ’type’ => ‘set’)); ?> – This will display six photos from a specified set

另外可以参考下本站的源码

[相关文章]
2008/1223

不同浏览器里图片大小不同的解决方法

分类:wordpress | 发表评论(2 条评论) | 点击量:857次
不同浏览器里图片大小不同的解决方法

我之前写过flickrRSS高阶使用三部曲之二:在WordPress博客中显示与文章内容相关的Flickr图片,后来发现一个问题:原本图片大小这个参数选择square的话,显示的应该是几张75×75的图片,这在firefox里面一直是正常的,但IE里面就不是这样了,很多图片会被放大,影响总体效果。

前些天偶尔翻CSS手册,看到max-height属性,心想这正好可以解决这个问题。解决方法如下:

修改css文件添加如下代码:

#related-pic img {
max-height:75px;
max-width:75px;
width: expression( this.width> 75 ? “75px” : (this.width+”px”) );
height: expression( this.height> 75 ? “75px” : (this.height+”px”) );
}

意思就是说,在id为related-pic的容器里面,图片(img)的最大宽度和长度是75px,如果发现宽度或长度大于75的,就改成75,如果小于75的就大小不变。

然后在single.php中出现75×75的图片的地方用id为related-pic的容器括进去就可以了:

<b>[相关图片]</b><br />
<div id=”related-pic”>
<?php get_flickrRSS(8, “community”, “$first_tag”, “square”, “&nbsp;”, “&nbsp;”); ?>
</div>

这样,IE的显示就正常了。你当然也可以把上面这段CSS代码这届嵌入到HTML代码里面,如:

<div style=”css code”>
<?php get_flickrRSS(8, “community”, “$first_tag”, “square”, “&nbsp;”, “&nbsp;”); ?>
</div>

类似的, 你也可以设定文章内容中图片的最大宽度,以免不小心用了太大的图,把页面撑得面目全非。

[相关文章]
2008/0715

WordPress运行原理学习笔记之二:插件机制初探

分类:wordpress | 发表评论(7 条评论) | 点击量:1968次

WordPress运行原理学习笔记之一:主题机制初探

WordPress运行原理学习笔记之二:插件机制初探

WordPress的插件机制使得开发者可以方便地向系统添加自己需要的功能,而这是使得WordPress得以在全世界流行的重要原因。一个 WordPress插件是一个程序,或者是用PHP脚本语言写出的一个或一些函数的集合,用来往WordPress Webblog 里增加一些特定的特征和服务,它们可以通过WordPress的 Plugin Application Program Interface (API) 提供的接入点和函数无缝的集成到Webblog里.

插件机制的实现主要依靠wp-includes目录下的plugin.php文件,该文件中包含了与插件机制相关的几个函数。在 wordpress内核运行时设立了一些标记(tag),当遇到这些标记时,wordpess会自动调用挂载到 (hook to)这个标记上的所有函数,该功能是通过数组来实现的,其过程可以直观的表示为下图:

插件hook原理

用户可以通过plugin API方便的将自定义的功能添加到系统相应的位置。需要指出的是:wordpress定义了两种类型的插件API,行为(actions)和过滤器 (filters):

[相关文章]
2008/0715

WordPress运行原理学习笔记之一:主题机制初探

分类:wordpress | 发表评论(2 条评论) | 点击量:1782次

WordPress运行原理学习笔记之一:主题机制初探

WordPress运行原理学习笔记之二:插件机制初探

一、主题包各文件说明

header.php:这个文件中包含博客的标题(title),描述(description),tag,以及css等信息。
sidebar.php:这个文件控制你侧边栏中的显示方式。
footer.php:控制页面底部的显示,包括ICP,版权声明等信息。
archive.php:被系统调用用于显示用户提交分类,按日期归档,tag等查询后显示的页面。下面代码显示了archive.php内部是如何辨别不同的查询请求的:

<?php if (is_category()) { ?>
<div class=”pagetitle”>‘<?php single_cat_title(); ?>’ 分类下的文章</div>
<!–显示下面是哪个分类下的文章列表,‘ ’ 分别是左右单引号,下同–>
<?php }    elseif( is_tag() ) { ?>
<div class=”pagetitle”>‘<?php single_tag_title(); ?>’ 标签下的文章</div>
…………
<?php } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?><div class=”pagetitle”>日志归档</div>
<?php } ?>

search.php:用于显示用户提交搜索后显示的页面。
searchform.php:搜索栏表单,被header.php调用。
single.php:用于全文显示post页面。
page.php:用于全文显示page页面。
function.php:存放自定义的函数,被其他文件包含和调用。
comments.php:留意评论模板,被single.php,page.php等需要评论功能的网页调用。
style.css:整个网站布局和显示模式。
screenshot.jpg:用于在后台选择主题页面里显示这个主题的截图,wordpress会自动在主题目录下寻找screenshot.*文件。

二、从源码看主题的调用过程

[相关文章]
2008/0705

WordPress侧边栏错位的原因及解决方法

分类:wordpress | 发表评论(13 条评论) | 点击量:2623次

刚使用的主题WordPress主题常常有侧边栏错位,被放到留言框下面 或者 在原来侧栏位置的下面留言框右下脚的位置。

现象一:侧边栏位于留言框位置的右下角,既侧边栏原来位置的下面且左边没有内容的地方。

原因:不同的浏览器对.css + HTML 的渲染算法稍有区别,这导致了常常firefox里面正常的,在IE7里面有点点不一样,在IE6里面浏览器认为,右边的空间不够用了,只好将侧边栏放到位于侧边栏原来位置的下面且左边没有内容的地方,于是就侧边栏错位了。

解决方法:修改主题包里的style.css文件。关键是修改里面的page和content两个div容器对应的宽度大小width属性值。要么让前者变大点,要么让后者变小点,这样对于发生错位的浏览器来说,侧边栏有足够的空间可以放了。操作很简单,你根本不需要任何.css的知识,搜索#page 找到后,看它的width属性的数值,比如970。那么你将整个style.css文件里面所有数值是970的都改大一点点,比如980,反正直到浏览器正常显示为止。当然也可以修改content那个数值,方法类似。

现象二:侧边栏位于留言框下面。

[相关文章]
2008/0704

flickrRSS高阶使用三部曲之三:配合Gravatar2让flickr的图片作为WordPress留言的随机头像

分类:wordpress | 发表评论(2 条评论) | 点击量:1283次

Gravatar,全称为 globally recognized avatar,是 http://www.gravatar.com/ 推出的一种头像身份标识服务。只要你在Gravatar上注册你邮箱,和上传头像图片,然后当你在启动 Gravatar 服务的博客上留言,就可以显示你的头像。

WordPress内置了对Gravatar的支持,但国内在Gravatar上注册过的人还是比较少的,这导致了留言中大部分都是默认的头像,这样想到很单调。

如果能让留言的人中Gravatar上注册过的显示其对应的头像,没注册过的随机显示一张来自flickr上的图片,那么留言框将很有生气哦。比如这样:http://blog.shidelai.cn/leave-message。

其实要实现这个效果很简单。

WordPress插件:显示flickr上的图片-flickrRSS使用详解(http://blog.shidelai.cn/2008/06/how-to-flickrrss.html)和 WordPress博客中显示与文章内容相关的Flickr图片 (http://blog.shidelai.cn/2008/06/essay-photo.html)中我已经介绍了在文章中显示与文章内容相关的flickr图片,如果按文中提到的设置过来,那么会有很多图片被缓存在/home/yourname/domains/soulward.cn/public_html/wp-content/cache这个文件夹下面。而Gravatar2这个插件最重要的改进就是可以随机选取一张图片作为留言头像。

参照上面提到的2篇文章解决好flickrRSS后,接下来就是Gravatar2的事情了。

[相关文章]
2008/0629

抛弃All in One SEO Pack,WordPerss的SEO优化小结

分类:wordpress | 发表评论(3 条评论) | 点击量:1726次

对于wordpress,SEO(Search Engine Optimization搜索引擎优化),我都是新手。查看高人前辈的文章,大概知道了以下这些:

应该把最重要的信息放到最前面:

1. 文章网页的标题最好包含文章的标题,而且网页标题以现文章标题后博客名称为佳,而不是wordpress默认的现博客名称后文章标题。 2. 搜索引擎的爬虫处理一个网页里的内容时候是安装html代码的顺序来的。所以,一般的主题都是先header.php 然后 最重要的内容部分侧边栏 最后 footer.php 这们一个html代码顺序来的。

应该做到对搜索引擎友好:

3. 每个网页都要有keywords和description这两个meta标签,方便搜索引擎检索。 4. 日期,分类等存档页面都会有和单篇日志内容重复的现象,这回降低文章在搜索引擎中的排名权值,应该告诉爬虫我不希望这些页面被收录。

抛弃All in One SEO Pack

All in one seo pack 是常用的wordpress seo 插件,几乎人手一份,但我发现,完全可以自己修改主题源码做到比使用这个插件更好的效果。 我在水煮鱼别用 All in One SEO Pack 提到:All in one seo pack无非四个功能:页面的标题,Meta 中 Keywords 和 Description,以及重复内容。

[相关文章]
2008/0614

flickrRSS高阶使用三部曲之二:在WordPress博客中显示与文章内容相关的Flickr图片

分类:wordpress | 发表评论(7 条评论) | 点击量:2421次

WordPress插件:显示flickr上的图片-flickrRSS使用详解中我介绍了flickrRSS插件的简单应用,也列举了如何在留言框下面显示flickr上最新发布的标签为:hangzhou的图片。但阿德总感觉这样太单调了,可不可以在这个位置显示与这篇文章内容相关的图片呢?如果可以岂不是太爽了?答案当然是肯定的!要不就不会有这篇博文了,呵呵。:cool:

方法

1. 在打开主题文件夹下的single.php,在

<div class=”post” id=”post-<?php the_ID(); ?>”>

……….

</div><!–/post –>

之间添加如下代码:

[相关文章]
2008/0613

flickrRSS高阶使用三部曲之一:显示flickr上的图片

分类:wordpress | 发表评论(5 条评论) | 点击量:19003次

通过flickrRSS你不仅仅是可以显示你自己flickr帐号上的图片,你也可以在WordPress博客中任何你想要的位置显示你所设定的flickr上的图片。比如:本网页留言框下面显示的是flickr上Tag为杭州的最新上传的图片,侧边栏上“养眼美图”部分就是flickrRSSWidget,通过后台添加即可。

下载&安装

flickrRSS 4.0 — for WP 2.5
flickrRSS 3.5 — for WP 2.3

解压缩后复制到plugins目录下即可,然后后台激活。

注意:由于flickr是国外网站,速度会比较慢,如果需要将图片在本地缓存,你需要新建一个可写的目录用于缓存图片。这样,图片第一次被浏览时候会下载到改目录下,下次就直接从该目录读取图片了。

比如在wp-content目录下新建一个文件夹命名为cache

设置

[相关文章]