‘wordpress’ 标签下的文章
2008/1212

升级WordPress2.7要注意的地方

分类:News, 日记 | 发表评论(4 条评论) | 点击量:3074次
升级WordPress2.7要注意的地方

总算升级到wordpress2.7了,过程很痛苦、很抓狂
wordpress的2.7版本确实是一个划时代的版本,添加进了很多优秀的特性,其中最吸引我的就是在线更新版本,在线安装插件的功能。
当在RSS新闻里读到wordpress2.7正式版释出了之后,我马上下载之准备安装。
之前重来没做过版本更新,不知道是不是我天生的求虐的心态发作。也不Google一下更新版本有什么要注意的就马上上传2.7版本覆盖了服务器的原来的文件。结果,出了很多问题,各式各样的错误。
总结一下吧:

1. 更新之前,一定要把所有的插件都deactive掉。

2. 更新之前备份服务器里的原文件,以及数据库。

各个空间服务提供商都会提供比较方便的工具让你备份用的。比如我用的梦游,后台控制界面里就有一个把特定的文件夹打包压缩的功能。

3. 请确定你的网络确实OK。

不知道怎么回事,以前都好好的,最近上传FTP老是会只上传一半就断掉,或者明明是20K的文件它上传了11K就当上传成功了,导致很多文件上传不全,后果可想而知。所以,如果更新后刷新页面,提示如某某文件里的第几行有什么状况,基本上可以肯定是上传时候没传完全了。

4. 上传完新版本后,一定要首先登录http://www.example.cn/wp-admin/upgrade.php更新数据库。

因为新版本添加了一些新的特性,需要在数据库中添加新的表和键值。

5.注意feedsky feed插件

如果继续使用原有的feedsky feed插件会导致添加新插件页面的搜索插件功能以及整个系统的更新新版本功能都失效。

6. 大部分插件都是能继续用的,全部都active好了,不用像网上说的一个一个激活,激活一个检查下是不是有什么错误。

全部都一起active就可以了,如果真有什么问题,比如我上面提到的feedsky这个插件的问题,要找出来也很方便的:先全部deactive掉,如果没有这个问题了,说明是其中某个插件的问题。然后用二分法,先deactive掉其中一半,如果问题依旧,那么问题插件就出在仍然激活的这一半,然后继续二分法。很快就找到问题插件了。

7. 一定要升级到2.7,这是一劳永逸的事情。

我不是个爱追随新版本的人,但2.7的在线自动更新系统版本的功能真的很赞。Great work!

2008/0715

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

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

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 条评论) | 点击量:2702次

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 | 发表评论(14 条评论) | 点击量:3982次

刚使用的主题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 条评论) | 点击量:2060次

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-.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 条评论) | 点击量:2567次

对于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 条评论) | 点击量:3972次

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 | 发表评论(6 条评论) | 点击量:23570次

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

下载&安装

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

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

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

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

设置