http://qiaodahai.com/
WordPress
WordPress 3.0 正式版下载地址及简要中文说明
Jun 18th
官方发布页面:http://wordpress.org/development/2010/06/thelonious/
从这里下载 Download WordPress 3.0 正式版 !
WordPress 3.0 英文正式版,需要中文版的用户请稍等http://cn.wordpress.org/。
WordPress3.0最为突出的五个新特征
1. 自定义发布内容的类型
默认情况下,WordPress里可以让你发布两种类型的内容:“文章(Posts)”和 “页面(Pages)”。 在WordPress3.0版本中,你可以依据内容本身的属性特征定义更多的内容类型。
2. 菜单管理
菜单管理应该算是WordPress3.0里最让人津津乐道的一个新功能了。它让你可以完全掌控站点的导航菜单。通过便捷的拖放界面,用户可以自由创建各种组合的链接:内部链接、外部链接、分类等。而且你可以将这些自定义菜单嵌入主题中的任意位置,把它们当成widgets来看待。
3.自定义分类法
对于非开发人员来说,这个新的功能可能有点复杂,不过不管怎么说,它毫无疑问将WordPress3.0向一个真正的内容管理系统又再推进了一步。自定义分类法允许你创建额外的meta信息。默认情况下是有“分类”和“标签”这两种。 现在你可以添加更多的类型,并且可以选择是否需要层级结构。
4. 新的默认主题: “Twentyten”
Twentyten这个主题也让大家期待已久,这款主题相当简洁但却引入了一些在其他主题中所没有的完美的功能。如果你是WordPress新手,不懂如何利用代码来自定义主题,Twentyten内置的下面这两个功能将会显得更加实用:自定义标题图片、自定义背景图片。
5. 多站点
提到WordPress 3.0不可能不说说这个新的多站点功能。是这样的,你可以只需一次安装WordPress,就可以管理多个不同站点(不同域名或二级域名)。之前被称为 WordPress MU (多用户)的功能现在已经于WordPress3.0的内核结合在一起了。不过,普通用户并不适合启用多站点功能,因为它需要一定的代码知识还需要配置服务器。也就是说,普通用户可能并不会对多站点的功能感兴趣。
让你的主题支持WordPress 3.0的自定义菜单功能
Jun 3rd
目前WordPress 3.0 RC已发布,新版增加了许多功能,可能喜欢尝鲜的朋友已迫不及待地升级了自己博客,利用原来2.9.2版的中文语言文件基本汉化了大部分菜单,只有少部分 还是英文的,其中在主题选项中多出一个Menus功能,一个可以方便灵活地向导航菜单添加自定义内容的新功能。但当你打开这个选项时会提示“The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.”大概的意思是:当前的主题不支持菜单功能,但你可以 把利用这一“菜单”功能,添加的自定义菜单应用到主题侧边栏中,也就是小工具(E文盲,翻译的不好别见笑)。然而当你启用3.0版默认主题Twenty Ten后,这个提示就消失了,看来是新的默认主题针对3.0功能进行了优化。
原来在默认主题functions.php中有一句:
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'twentyten' ),
) );
把这句代码添加到当前主题functions.php模板文件中,提示也消失了,关键就是这句了。
也可以用:
// This theme uses wp_nav_menu()
add_theme_support( 'nav-menus' );
但只修改这里,并不会真正在主题导航菜单上启用这个功能,只会在侧边小工具中多出custom menu小工具一项,还需修改导航部分代码,才会体验到新的功能。
一般主题导航部分代码为:
<?php wp_list_pages('title_li='); ?>
改为
<?php wp_nav_menu( 'id=navbar' ); ?>
也可以根据自己使用的主题功能修改为类似:
<?php wp_nav_menu( 'id=navbar&menu_class=headermenu' ); ?>
主题改造完成,下面简单介绍一下这个Menus功能的使用方法:
打开Menus设置页面,在此添加一个新的自定义菜单:

在左侧选择准备显示在导航菜单的分类标题或页面,也可以添加一个链接,然后点击“add to menu”添加到新的自定义菜单中,保存菜单。

刷新博客页面,看看新的导航菜单是不是出来了。
总结:个人感觉这是3.0版一个非常不错的新功能,可以灵活方便地变更主题导航菜单内容,不受主题本身限制,但之前所有主题都不支持这个功能,需手 动修改模板文件,对新手而言,有一定难度。
WordPress 的Robots.txt设置
May 30th
为了避免搜索引擎对博客内容进行重复索引,可以用robots.txt限制搜索引擎机器人对某些页面的抓取。例如分类页面(category)、标签页面(tag)之类的是随最新文章变化的,对它们做索引就没有什么意义。
可以在web的根目录下放置一个如下内容的robot.txt文件(文件名全部为小写):
User-agent: * Disallow: /wp-admin Disallow: /tag Disallow: /category/ Disallow: /*?* User-agent: Mediapartners-Google Allow: /
其中的“Disallow:/*?*”那句是让搜索引擎不去索引所有带“?”的网址。如果WordPress没有采用永久固定链接而用默认的“ /?p=xx”的方式的话就要删掉这句。
请注意末尾的两句,其含义是允许Google Adsense的机器人去抓取所有页面,这样才可以在所有页面上都放adsense广告。否则在禁止了索引的页面上只会显示公益广告而无法获得 adsense收入。曾经有人对该问题的回复是设置:
User-agent: Mediapartners-Google* Allow: /
也就是后面加了个“*”,不知道是那人笔误还是怎样,这个“*”是不对的,但网络上以讹传讹,很多文章在说明robots.txt的设置时都说成 是:“User-agent: Mediapartners-Google*”。我们可以利用google的网站管理员工具中的“测试robots.txt”来进行测试,就会发现如果末 尾加了“*”的话结果是不正确的。上面的文字来自:蓝天博客
下面我们介绍什么是robot.txt文件及其语法:
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
语法:最简单的 robots.txt 文件使用两条规则:
• User-Agent: 适用下列规则的漫游器
• Disallow: 要拦截的网页
robots.txt文件的格式
”robots.txt”文件包含一条或更多的记录,这些记录通过空行分开(以 CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
“
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字。在”robots.txt”文件中,如果有多条 User-agent记录说明有多个robot会受到”robots.txt”的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效,在”robots.txt”文件中,”User-agent:*”这样的记录只能有一条。如果在”robots.txt”文件中,加入”User-agent:SomeBot”和若干Disallow、Allow行,那么名为”SomeBot”只受到”User-agent:SomeBot”后面的Disallow和Allow行的限制。
Disallow:
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被robot访问。例如”Disallow:/help”禁止robot访问/help.html、 /helpabc.html、/help/index.html,而”Disallow:/help/”则允许robot访问/help.html、 /helpabc.html,不能访问/help/index.html。”Disallow:”说明允许robot访问该网站的所有url,在” /robots.txt”文件中,至少要有一条Disallow记录。如果”/robots.txt”不存在或者为空文件,则对于所有的搜索引擎 robot,该网站都是开放的。
Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如”Allow:/hibaidu”允许robot访问 /hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以 Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
使用”*”和”$”:
Baiduspider支持使用通配符”*”和”$”来模糊匹配url。
”$” 匹配行结束符。
”*” 匹配0或多个任意字符。
WordPress的RSS输出方式
May 30th
一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀。发布一个RSS文件(一般称为RSS Feed)后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,如PDA、手机、邮件列表等。
WordPress支持RDF/RSS 1.0、RSS0.92、RSS2.0、Atom等四种类型的最新内容Feed,以及RSS2.0的最新评论Feed。
一般来说Feed的地址如下:
http://wordpress.org/wp-rss.php http://wordpress.org/wp-rss2.php http://wordpress.org/wp-rdf.php http://wordpress.org/wp-atom.php
也可以用如下地址来访问:
http://wordpress.org/?feed=rss http://wordpress.org/?feed=rss2 http://wordpress.org/?feed=rdf http://wordpress.org/?feed=atom
如果用了永久链接功能,则可以用地址:
http://wordpress.org/feed/ http://wordpress.org/feed/rss/ http://wordpress.org/feed/rss2/ http://wordpress.org/feed/rdf/ http://wordpress.org/feed/atom/
如果把访问不到的页面重定向到了index.php的话,还可以用如下地址来访问:
http://wordpress.org/feed http://wordpress.org/rss http://wordpress.org/rss2 http://wordpress.org/rdf http://wordpress.org/atom
WordPress还允许对某个分类或者标签的文章提供Feed,地址如:
http://wordpress.org/archives/category/Uncategorized/feed
那么RSS、ATOM和RDF有什么不同呢?请看下面的说明。
RSS是“Rich Site Summary”或“Really Simple Syndication”的英文首字母缩写,中文称作“简易信息聚合”。RSS是一种基于XML标准,在互联网上被广泛采用的内容包装和投递协议。
RSS技术诞生于1999年的网景公司(Netscape)。当时网景公司定义了一套描述新闻频道的语言,RSS,用于将网站内容投递到 Netscape Navigator浏览器中。但由于公司内部商务决策、当时互联网内容匮乏等诸多原因,网景最终只发布了一个0.9版本的规范。微软当时也推出了类似的数 据规格,与RSS非常接近,试图利用新闻频道的架构把“推”(Push)技术变成一个应用主流,捆绑在IE浏览器中与Netscape Navigator抗衡。不过无奈的是,由于当时互联网访问速度慢、内容缺乏、用户不熟悉等原因,这个“推”技术自始至终没有得到市场的广泛支持。
但是随着时间的推移,RSS技术随着XML技术的发展和博客群体的快速增长,逐渐被人们广泛地接受,其应用范围也已经跳出单纯的博客圈,成为新闻传 媒、电子商务、企业知识管理等众多领域的不可缺少的新技术。2001年,RSS技术标准的发展工作被戴夫·温那(Dave Winer)的公司UserLand所接手,继续开发新的版本,以适应新的网络应用需要。通过戴夫·温那的努力,RSS升级到了0.91版,然后达到了 0.92版,并随后被众多的专业新闻站点所接受和支持。在广泛的应用过程中,众多的专业人士认识到需要组织起来,把RSS发展成为一个通用的规范,并进一 步标准化。一个联合小组根据W3C新一代的语义网技术RDF对RSS进行了重新定义,发布了RSS 1.0版,并把RSS定义为“RDF Site Summary”。这项工作并没有与戴夫·温那进行有效的沟通,而戴夫则坚持在自己设想的方向上进一步开发RSS的后续版本2.0,同时也并不承认RSS 1.0的有效性。RSS由此开始分化形成了RSS 0.9x/2.0和RSS 1.0两个阵营。
戴夫·温那在2002年9月独自把RSS升级到了2.0版本,并交由哈佛大学法学院Berkman互联网和社会学中心进行维护。而RSS 1.0版则仍然由W3C联合小组维护。
在GOOGLE收购了美国大型的博客服务网站blogger以后, 使这个网站一直采用的一种近似于RSS的技术衍生版Atom一夜之间成为RSS领域标准之争的新的有力竞争对手。WordPress所用的Atom版本为 1.0。
把WordPress放在子目录中而让你的博客显示在根目录
May 29th
很多人想让WordPress运行在他们站点的根目录(例如:http://example.com),但是他们不想让所有的的 WordPress文件把他们的根目录弄乱。WordPress允许你把WordPress文件放在一个子目录,同时让你的博客显示在站点的根目录中。
把 WordPress放到单独子目录下的程序如下:
1、新建一个用来存放WordPress核心文件的新文件夹(本文以/wordpress示范)。
2、进入options(中文版用户为“设置”)面板。
3、找到WordPress address (URL)(中文版用户为“WordPress 安装地址 (URL)”)这个选项,把后面的地址改成你存放WordPress文件的文件夹地址。比如:http://example.com/wordpress
4、找到Blog address (URL)(中文版用户为“博客地址 (URL)”)这个选项,把此地址改为你网站的根目录的URL。例如:http://example.com
5、点击Save Changes(中文版用户为“保存更改”)。
6、把WordPress的核心文件转移到你新建的文件夹中,也就是WordPress address (URL)这个目录。
7、把index.php和.htaccess文件从WordPress目录转移到根目录(即Blog address)中。
8、用文本编辑器打开并编辑根目录下“index.php”这个文件。
9、找到如下代码,修改并保存:找到
require(‘./wp-blog-header.php’);
把地址改为你WordPress目录下的文件:
require(‘./wordpress/wp-blog-header.php’);
10、登陆控制面板,新的控制面板地址为http://example.com/wordpress/wp-admin/
11、如果你设置了结构化链接地址(Permalinks),打开永久链接选项面板更新Permalinks结构。如果.htaccess有正确的权限设置的话WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制 到.htaccess文件中(和index.php同目录)。
这篇文章翻译自WordPress官方文档,水平有限,见谅!
WordPress数据备份插件WP-DB-Backup
May 26th
WP-DB-Backup 插件简介
WP-DB-Backup 可以很方便地备份你的WordPress核心数据库,另外还有一些不太重要的数据表可以根据自己的需要有选择的进行备份。WP-DB-Backup 一个非常人性化的功能就是支持把备份数据定时发送到你的邮箱中或者直接存储到你的空间目录里,而且插件是以中文显示的,可以很好的照顾到那些英文不太好的朋友们。
WP-DB-Backup 使用方法
1.首先要下载 WP-DB-Backup 插件,下载地址 :下载链接1和下载链接2。
2.下载后安装插件并激活,这时候在“工具”里面多出了一个选项“备份”点击备份链接进入插件的设置界面。
3.整个插件功能界面异常简洁,就分了三个模块,分别为“数据表”、“备份选项”和“定时备份”。我记得以前安装的一个什么备份插件的,光是子菜单就有六七个之多,WP-DB-Backup 可以说是做到了短小精悍。
4.在“数据表”里面列举了所有 WordPress 的数据表,其中核心数据表会默认备份,剩下的数据表你可以有选择的进行勾选。
5.备份选项里面有“保存至服务器”,“下载至本地电脑”,“通过电子邮件发送备份至…”三个选项供选择,如果要发送到邮箱可以填写相应的邮件地址。
6.定时备份就是可以自定义计划任务了。你可以根据需求选择相应的时间和数据表,最后点击下面的 Schedule backup 之后就会将这些设置保存,以后就可以让它自动发送数据库文件到指定的位置了。
是不是非常简单呢?通过 WP-DB-Backup 插件备份的数据库可以很好的用来在数据出现异常时恢复数据,你也不必每天那么麻烦的登陆你的 phpMyAdmin 来导出数据文件了。
WordPress固定链接的htaccess文件设置
May 26th
WordPress设置固定链接时,如果提示需要设置.htaccess文件,可使用文本编辑器新建一个文本,内容如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
直接保存为.htaccess文件,上传到网站的WordPress目录中即可(与index.php同目录)。
重要提示:
上文代码中第三行的 /blog/和第六行的 /blog/index.php请根据你自己WordPress的实际安装目录进行修改,否则会出错。
WordPress相关文章插件Yet Another Related Posts Plugin
May 25th
Yet Another Related Posts Plugin是一个Wordpress相关文章插件,by mitcho (Michael 芳貴 Erlewine) for WordPress。插件下载地址:Yet Another Related Posts Plugin。
在上述地址下载激活插件后,我们打开插件选项。中文版的wordpress用户的插件页面是中文的,相信大家也可以按照自己的需要来选择。这里就给 大家讲解几个需要注意的地方:
1、关联设置中的匹配值,系统默认的是5,但是这个匹配值通常会导致相关文章很少。所以建议大家将匹配值设置为3,这样关联的文章会相对多一些。
2、显示设置中,系统默认的是自动插入关联文章。如何你觉得插件自动插入的位置不适合你,那么你可以讲这个勾取消掉。然后找到主题模板文件夹下面的 single.php文件,在适当的位置插入一下代码:
<?php related_posts(); ?>
3、对于插件模板不满意的朋友,可以勾上显示设置中的“使用自定义模板”。在这里我建议各位选择“yarpp-template- random.php”模板。然后将“yet-another-related-posts-plugin/yarpp-templates/”目录下的 “yarpp-template-random.php”文件考到主题模板下面。然后你就可以根据你自己的喜好,去修改“yarpp-template- random.php”文件从而获得令你满意的效果。
这里我推荐一下我用的代码:
<style>
li {list-style-type:none;}
</style>
<?php if ($related_query->have_posts()):?>
<ul>
<li>相关文章:</li>
<?php while ($related_query->have_posts()) : $related_query->the_post(); ?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark”><?php the_title(); ?></a><!– (<?php the_score(); ?>)–></li>
<?php endwhile; ?> </ul>
<?php else: ?>
<ul>
<li>随机文章:</li>
<?php $posts = get_posts(‘numberposts=10&orderby=rand’); foreach($posts as $post)
{ setup_postdata($post); echo ‘<li><a href=”‘ . get_permalink() . ‘”>’ . get_the_title() . ‘</a></li>’; } $post = $posts[0]; ?>
</ul> <?php endif; ?>
另外,需要在CSS文件中加入:
ul.msg{
width:100%;
margin:0 0 10px 0;
padding:0;
text-align:left;
list-style-position : outside;
border:1px solid silver;
}
li.tbname{
border-bottom:1px solid black;
}
然后就会获得跟我一样的效果了。
4、“RSS相关设置”跟“显示设置”一样就可以了。如果你需要个性化的设置,那么可以参照我上面所说的,自己手动修改即可。
最后、附上原作者的模板修改说明(不过是英文的,英文好的朋友可以去参考一下):http://mitcho.com/blog/projects/yarpp-3-templates/
本文转载自雨泽博客
nginx相关配置与WordPress的Rewrite Rule
May 22nd
nginx的cofig里加上:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
阻止对文件的访问:
location ~ /.ht {
deny all;
}
nginx泛域名需要在编译时加上参数: –with-http_sub_module
nginx配置: server_name www.yourdomain.com *.yourdomain.com;
nginx下WordPress的WP-SuperCache RewriteRule设置
因为空间搬家为VPS,所以报了一个The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed!的错误,重新安装一下Wp-superCache,更新下配置就行了。
nginx配置如下:
location /
{
autoindex off;
gzip_static on;
set $wp_super_cache_file '';
set $wp_super_cache_uri $request_uri;
if ( $request_method = POST )
{
set $wp_super_cache_uri '';
}
if ( $query_string )
{
set $wp_super_cache_uri '';
}
if ( $http_cookie ~* "comment_author_|wordpress|wp-postpass_" )
{
set $wp_super_cache_uri '';
}
if ( $wp_super_cache_uri ~ ^(.+)$ )
{
set $wp_super_cache_file /wp-content/cache/wp_super_cache/$http_host/$1index.html;
}
if ( -f $document_root$wp_super_cache_file )
{
rewrite ^(.*)$ $wp_super_cache_file break;
}
if (-f $request_filename)
{
expires 30d;
break;
}
if (!-e $request_filename)
{
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
WordPress的Title优化设置
Apr 17th
WordPress的默认Title设计针对搜索引擎不够友好,网上有很多Wordpress Title的 优化设计方法,本人推荐使用这种:
<title><?php if (is_home()||is_search()) { bloginfo(‘name’); } else { wp_title(”); print ” - “; bloginfo(‘name’); } ?></title>
首页以外的页面,Title都为“内容标题 – 博客名称”,分隔符推荐设置为横杠 “-”,也可以根据自己喜欢设置。