Posts Tagged ‘wordpress’

WordPress in Pocket

星期四, 二月 4th, 2010

把WordPress放入口袋?听起来是一件很有意思的事。其实,这里说的意思是,通过手机直接管理博客和发布文章,随时随地享受Blogging乐趣。

通过手机发布博客日志,归纳起来有两个方法实现。

第一,通过插件,让博客后台页面针对手机优化,去掉复杂的排版,在手机上访问起来速度更快,这样的插件有
WordPress Mobile EditioniPhone / Mobile Admin 等。

第二,WordPress提供了针对iPhone/iPod touch,Blackberry,Android的手机客户端,通过相应的软件,即可在手机上实现发布修改文章,上传图片,管理留言等操作。通过手机客户端管理博客的好处显而易见,手机客户端通过XMLRPC协议进行发布,不需要下载CSS,Javascript,和HTML文件,节省了不少流量,在中国这种流量比油还贵的地方是非常需要的。并且,WordPress手机客户端由WordPress官方开发,功能简洁易用,提供持续的版本更新,不用担心后续开发。

注意,以上网站均需要穿墙访问。快捷下载方式:Android和iPhone/iPod Touch分别在软件市场上搜索WordPress;Blackberry: http://blackberry.wordpress.org/install(依然需要穿越。。)

Wordpress自动给被回复者发送邮件的插件ReplyMe

星期五, 一月 23rd, 2009

以前用Wordpress Thread Comment这个插件来实现嵌套回复的时候,对它的自动邮件给被回复人的功能非常满意,但自从我的Wordpress版本升到了2.7,并停用了这个插件,改用WP2.7内置嵌套评论后,就缺了这功能,不利于交流。

原本以为有这样一款功能的插件,后来找来找去都没找到,只好自己花两个小时写了这个ReplyMe插件,在嵌套评论模式下,当父评论被回复时,自动发送邮件给父评论的作者。

在使用这个插件前,你最好要开启WP内置的嵌套回复功能,并配置好主题,然后禁用Wordpress Thread Comment,以免产生冲突。

这个插件支持英文,中文,后来使用土耳其语的Opereysin兄又给我发来了土耳其语的翻译。

好了,想体验一下效果吗?在这篇文章下留个言,我给你回复,你就可以看到效果了。

Reviewers Info插件更新

星期二, 一月 13th, 2009

Reviewers Info是一个能够在留言者链接旁边显示留言者的国家国旗、操作系统、浏览器信息的插件。

Reviewers Info最近更新到了2.5版,优化了浏览器支持,并且更改了调用方式。在该版本以前,使用Reviewers Info需要修改主题comments.php模板,从这个版本开始,只需要安装插件,启用即可,不需做任何修改即可看见效果。

原来装过该插件,从后台升级插件后务必编辑当前主题的“comments.php”文件,把原来添加的语句“ <?php display_commenter_info($comment); ?> ”删除

这里感谢流星天空等博客好友的支持及对本插件提出的建议意见。

当前版本支持的浏览器:

  • IE
  • Firefox
  • Opera
  • Safari
  • Chrome
  • Maxthon(基于IE)
  • TheWorld(基于IE)
  • TencentTravel(基于IE)

操作系统:

  • Windows
  • Linux
  • Mac OS
  • Ubuntu,Debian(基于Linux)

由于手机留言访客实在太少,所以暂不支持手机(如NOKIA,iPhone)等用户的信息。

官方下载:http://wordpress.org/extend/plugins/reviewers-info/

Wordpress2.7留言嵌套回复主题教程之二

星期六, 一月 10th, 2009

上回说到关于WP2.7内置的嵌套回复,步骤有点累赘,其实这里还有一个更好的方案,移植默认主题到您的主题上,仅需几步就可以打造支持WP2.7内置嵌套回复的主题了。

thread-comment-default-theme
(默认主题的嵌套回复效果)

第一步,沿用WP2.7内置 default 主题的comments.php 模板。将 wp-content/themes/default/下的comments.php文件覆盖您的主题的comments.php文件。由于许多主题制作者对于comments.php的修改比较少,所以即便这样对您的主题的整体风格影响也不大,而且如果不满意可以再进行修改。default内置的评论模板已经完全采用了嵌套回复的方案。

第二步,打开default主题的style.css文件,从 “/* Begin Comments*/”开始至“/* End Comments */”结束,把该段复制到自己的主题的style.css文件中。这里的CSS仅包含了最基本的定义,不过效果也可以接受(详见下图),如果要进行修改的,不妨看看国外网友的风格:1 2 3,或者也可以用Firefox+Firebug找出其中的元素进行定义。

第三步,在主题的header.php添加以下PHP代码。(务必记得要在 wp_head() 函数执行前调用!)

  1. <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

OK,仅需三步即可完成您的主题对Wordpress 2.7嵌套回复的支持。

Wordpress2.7自带嵌套回复配置教程

星期六, 一月 3rd, 2009

Wordpress2.7从2.7开始自带了“嵌套回复”功能,而以前使用这个功能需要依靠第三方插件Wordpress Thread Comment来实现。嵌套回复的工作原理其实并不难,WP的数据库里有个wp_comments的表中有一栏comment_parent ,即可以对comment指定父级,达到嵌套的目的。

thread-comment-plugin

这是使用插件生成的嵌套回复,由于工作原理不同,嵌套回复的内容样式不能与父评论保持一致,而需要在后台对插件进行设置

thread-comment-default

由WP生成的嵌套回复,父评论与子评论保持风格一致,便于编辑风格,也节省了插件的资源。而且,如果用原生的嵌套回复取代插件,所有原有的嵌套回复都依然存在。

接下来就来进行DIY吧。

DIY第一步

停用Wordpress Thread Comment插件。并到后台设置-》讨论,开启“允许嵌套X层评论”。

DIY第二步

选择主题(这里以WP自带classic主题为例),打开header.php,在wp_head();这个函数之前添上

  1. <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

该代码在文章/页面调用嵌套回复的Javascript文件。

DIY第三步

打开comments.php编辑评论模板。原有的模板大概是:

  1. <?php if ( $comments ) : ?>
  2. <ol id="commentlist">
  3. <?php foreach ($comments as $comment) : ?>
  4.     <li>
  5.     ...
  6.     <?php comment_text() ?>
  7.     ...
  8.     </li>
  9. <?php endforeach; ?>
  10. </ol>
  11. <?php else : // If there are no comments yet ?>
  12.     <p><?php _e('No comments yet.'); ?></p>
  13. <?php endif; ?>

如今有了WP自带的wp_list_comments();函数,即可轻松完成这些工作

  1. <?php if ( $comments ) : ?>
  2. <ol class="commentlist">
  3. <?php wp_list_comments();?>
  4. </ol>
  5. <?php else : // If there are no comments yet ?>
  6.     <p><?php _e('No comments yet.'); ?></p>
  7. <?php endif; ?>

说明一下,原有的判断有留言、取出、并显示的部分用一个wp_list_comments();即可取代。原来的ol(有序列表)的id=”commentlist”改为class=”commentlist”,这是因为到后面定义CSS的时候可能会与其他产生冲突。关于wp_list_comments函数更多请参阅官方文档

DIY第四步

找到一个textarea,name=”comment”,就是访客输入留言的文本域,看看是否这个textarea中还有个id=”comment”,如果存在,把id=”comment”去掉(不是去掉textarea,而是去掉定义的ID)。

DIY第五步

找到

  1. <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />

去除该段,替换为

  1. <?php comment_id_fields(); ?>

这是对回复框进行定义,以便支持嵌套回复。

DIY第六步

  1. <h2 id="postcomment"><?php _e('Leave a comment'); ?></h2>

  1. <?php endif; // If registration required and not logged in ?>

的外部用一个id为”respond”的div包裹。这样做是为了在嵌套回复时,点击留言者旁边的“回复”,即可把评论框整体移至该评论附近。效果见本站。

DIY第七步

在“Leave a Reply”下面增加

  1. <div id="cancel-comment-reply"> 
  2.     <small><?php cancel_comment_reply_link() ?></small>
  3. </div>

这是一个取消评论的链接。一般情况下,该链接不显示,只有要针对某人进行评论,而不想评论时可以点击这个链接把评论框复位。

OK,针对文件的修改就完成了,我这里提供了修改后的comments.php,请直接下载后参考即可。

Wordpress官方已经有朋友给出了该方法。详情参阅

DIY第八步

接下来是针对CSS的定义。国外网友Chris Harrison提供了CSS部分的几种配色方案。

  1. ol.commentlist { list-style:none; margin:0 0 1em; padding:0; text-indent:0; }
  2. ol.commentlist li { }
  3. ol.commentlist li.alt { }
  4. ol.commentlist li.bypostauthor {}
  5. ol.commentlist li.byuser {}
  6. ol.commentlist li.comment-author-admin {}
  7. ol.commentlist li.comment { border-bottom:1px dotted #666; padding:1em; }
  8. ol.commentlist li div.comment-author {}
  9. ol.commentlist li div.vcard { font:normal 16px georgia,times,serif; }
  10. ol.commentlist li div.vcard cite.fn { font-style:normal; }
  11. ol.commentlist li div.vcard cite.fn a.url {}
  12. ol.commentlist li div.vcard img.avatar { border:5px solid #ccc; float:right; margin:0 0 1em 1em; }
  13. ol.commentlist li div.vcard img.avatar-32 {}
  14. ol.commentlist li div.vcard img.photo {}
  15. ol.commentlist li div.vcard span.says {}
  16. ol.commentlist li div.commentmetadata {}
  17. ol.commentlist li div.comment-meta { font-size:9px; }
  18. ol.commentlist li div.comment-meta a { color:#ccc; }
  19. ol.commentlist li p { font-size:11px; margin:0 0 1em; }
  20. ol.commentlist li ul { font-size:11px; list-style:square; margin:0 0 1em 2em; }
  21. ol.commentlist li div.reply { font-size:11px; }
  22. ol.commentlist li div.reply a { font-weight:bold; }
  23. ol.commentlist li ul.children { list-style:none; margin:1em 0 0; text-indent:0; }
  24. ol.commentlist li ul.children li {}
  25. ol.commentlist li ul.children li.alt {}
  26. ol.commentlist li ul.children li.bypostauthor {}
  27. ol.commentlist li ul.children li.byuser {}
  28. ol.commentlist li ul.children li.comment {}
  29. ol.commentlist li ul.children li.comment-author-admin {}
  30. ol.commentlist li ul.children li.depth-2 { border-left:5px solid #555; margin:0 0 .25em .25em; }
  31. ol.commentlist li ul.children li.depth-3 { border-left:5px solid #999; margin:0 0 .25em .25em; }
  32. ol.commentlist li ul.children li.depth-4 { border-left:5px solid #bbb; margin:0 0 .25em .25em; }
  33. ol.commentlist li ul.children li.depth-5 {}
  34. ol.commentlist li ul.children li.odd {}
  35. ol.commentlist li.even { background:#fff; }
  36. ol.commentlist li.odd { background:#f6f6f6; }
  37. ol.commentlist li.parent { border-left:5px solid #111; }
  38. ol.commentlist li.pingback { border-bottom:1px dotted #666; padding:1em; }
  39. ol.commentlist li.thread-alt { }
  40. ol.commentlist li.thread-even {}
  41. ol.commentlist li.thread-odd {}

这里就不说如何更改了,这个效果已经相当不错,如果还要优化的不妨用Firefox+Firebug调试出适合自己的结果。请务必把该段CSS添加到style.css文件中,否则效果就惨不忍睹了。

新年新气象

星期五, 一月 2nd, 2009

这是2009年的第一篇文章,首先向大家恭祝新年快乐!

前两天的消息,Google Pagerank 刚刚进行了更新。几家欢喜几家愁,趣站酷软兰灯等从2升到了3,流星天空的PR从4贬为2,MY-HouSunQ花果山寨Dianso等均没有变化,消失了很久的别用鼠标点我的博客依然为4。而零号相册也荣幸地从3升到了4,火狐家园从0直接升到3。希望大家再接再厉,PR升的继续升下去,不变的下次能升,降的下次连升两级 :) (广告一下,请使用zQuery工具查询)

再说一点就是有PR的朋友一定要学会利用PR,这里仍然是推荐Backlinks,我上次写了一篇Backlinks的教程《在博客上出售链接赚美刀》仅供参考。在过去的三个月里,我已经成功地从Backlinks拿到了15USD并已经转入Paypal账户。第一个月PR为3的时候售出了一个广告位,由于它是每月初结算,大概10月20号左右卖出的链接到11月1号就有收入了。接下来11月又卖出了1个链接,12月1号的账单就有4USD了,12月初又卖了1个链接,原本昨天是收6USD,不过由于PR更新,本博客在12月31日时PR已经升为4,Backlinks后台尚未更新PR,1月1日我写信通知Backlinks,原本只是想通知他们更新,担心1月计费损失,没想到他们立即更新了PR,而且是在美国XX时间12月31日以前更新的时间,后来Backlinks寄给我的账单就有9USD,哈哈,赚到了!

好了,扯回主题。想必大家都看到本博客的新气象了 :) (用Reader潜水观看的速来本站报到)最新主题,前两天已经发布图片预览了,各位感觉怎么样?我感觉这是我做过的最好的主题啦。

新主题大概几个特点:

  • Google 风格
  • 两栏设计,适合1024px浏览器
  • 支持Twitter。刚开始使用,还没搞清楚怎么玩,感觉速度略慢。
  • 支持Google Ajax Search
  • 支持Google Friend Connect,请好友们火速加入。
  • 用了jQuery库,以及jQuery UI中的Tab,即侧边栏的选项卡效果;圆角效果。
  • 取消了PageNavi功能,感觉真的很少人会翻到XX页,要找文章用搜索好了。
  • 取消嵌套回复。使用Wordpress自带嵌套回复。

要说明的是,WP2.7增加了嵌套回复功能,不过还没有正式的说明如何使用,官方主题也没有开始使用,在上网找了国外朋友的教程后,好不容易搞定了这个WP官方嵌套回复,不过代价就是从此再也不能用Ajax快速回复评论功能了。具体的教程我随后写上。

不知道各位朋友对我的主题感觉如何?再一次祝福新年快乐

Gravatar 教程

星期六, 十二月 13th, 2008

Gravatar是什么?

Gravatar取名Globally Recognized Avatar,即全球通用头像,它是由Wordpress系列产品的母公司Automattic运营的一个面向广大博客网站提供通用头像服务的网站。在该网站注册账户并上传头像以后,在全球任意一个支持Gravatar的网站(如基于Wordpress的大部分博客),在评论时只要输入您的电子邮箱,在评论旁即可显示您的个性头像。Gravatar最早面向Wordpress博客用户,后来逐渐被其他的博客平台以及一些普通网站所接受,如Z-BLOG,PJBLOG等。gravatar

开始注册Gravatar吧!

第一步

登陆Gravatar,点击Sign Up,填写常用邮箱地址,提交。

gravatar-signup

第二步

登陆邮箱,收取确认信。点击信中链接完成注册。分别填写昵称,密码,以及确认密码。

gravatar-finish

昵称请使用英文字符填写,且不能与其他人同名;密码中需要包含英文字符。

注册成功后即可看到以下界面:

gravatar-upload

第三步

点击“Add one by clicking here!”,添加头像。

Gravatar可以使用电脑上已有的图片、互联网上已有的图片或者开启摄像头拍照后上传。

gravatar-upload2

这里以本地上传为例,上传图片,点击NEXT

上传图片后可以对图片进行编辑,截取部分或着整幅图片,非常方便本地没有图片编辑软件的朋友。(所以如果你要截取某个大图中的某个部位,不需要本地编辑成刚刚好的文件,只需要上传以后进行截取即可)编辑图片后,点击Crop And Finish即可。

接下来会让你给图片评级,如果有点色情内容,则在某些网站不显示:

gravatar-rate

  • X:包括色情、暴力等令人不安的内容。
  • R:包含暴力、裸露、毒品等
  • PG:包含粗鲁手势、轻微暴力等内容
  • G:适合所有人观看(如我这幅“超人”头像)

OK,到目前为止你已经完成了注册Gravatar的过程。现在你在任何一个支持Gravatar的网站(如本博客),进行留言,并准确填写您的Email地址,即可在旁边显示您的头像,酷吧!

Gravatar还提供一个账号存储多张图片的功能,有些喜欢天天换头像的朋友上传图片后会进行保存,很方便找到曾经用过的头像。同样,Gravatar还支持多个邮件地址绑定在一起,共享图片资源。

帮助

• 看不懂英文?
Google翻译一下 :)

• 我的网站如何支持
Z-Blog教程
PJBlog教程

Gravatar官方教程
Sablog-X,Bo-Blog似乎默认支持?
Wordpress较新版本已默认支持;

• 我的Email会泄露吗?
不会!完全不会,Gravatar使用加密后的代码在网络间传输,如我的邮箱加密后为782b1edd33c043aa56506b7d22a77ec9,你能知道我的邮箱吗?当然,既然你把邮箱提交给这个网站,如果该网站故意将您的邮箱泄露,那就没办法了..

Reviewers_Info插件更新

星期天, 十一月 2nd, 2008

最近实在是很忙,昨天抽空更新了我开发的Wordpress插件Reviewers_Info。这个插件的功能在于能够显示评论者的国家信息、浏览器信息、系统信息。这个更新版提供了对Google Chrome浏览器的支持,目前支持的浏览器有IE,Firefox,Opera,Safari,Chrome,其他浏览器由于市场份额小没有支持。

另外,在国旗的方面,采用了zQuery的资源。相比原来的国旗显示,IP数据不再使用数据库进行存储,而是使用文件存储,国旗的显示速度更快。

目前该插件已经更新到WP官方插件目录,已经安装该插件的直接在后台一键升级即可,尚未安装的不妨点此下载

在使用这个插件的过程中遇到什么BUG或者有任何意见建议,请告知我,我将尽可能回答您。

如何禁止搜索引擎收录?

星期五, 九月 19th, 2008

很多站长都认为有搜索引擎收录是一件好事,首先是自己的网站得到了承认,通过搜索引擎也能带来一定的流量。其实并不完全准确,某些比较不知名的搜索引擎,即便收录了许多网页,并且天天更新,却不能带来实在的利益,反而浪费了服务器带宽(国内的主机一般宣称不限流量,但国外的Dreamhost这样的主机都是限制流量的),这样的搜索引擎,收不收录也是无所谓的。本文说说如何禁止某些搜索引擎的抓取及收录。

首先谈谈哪些搜索引擎是一定有用的,Google,百度,我认为这两个搜索引擎是必须的。国内网站的90%以上的搜索引擎流量来自于Google和百度,其中百度七成,Google三成左右。Google是搜索引擎的权威(强龙),而百度就是中文搜索的领袖(地头蛇)。除此之外,我认为其他的搜索引擎都可以屏蔽。雅虎中国、Live中文、以及国内的搜狗、搜搜、有道之辈均是无足轻重的搜索引擎。

禁止搜索引擎收录的方法大概有3种。

方法一:服务器禁止访问。

这需要服务器配备有cPanel这样的后台管理软件,设定某个搜索引擎所在的IP段禁止访问。如要封锁Google的蜘蛛,先通过域名对应IP查询得www.google.com的IP地址,如74.125.19.99,再通过IP WHOIS查询查到IP段 74.125.0.0 – 74.125.255.255 的所有人均是Google公司,把这个IP段填入IP黑名单中。(具体的方法根据不同的管理软件有所不同,可能是74.125.0.0-74.125.255.255或74.125.*.*)

这个方法比较好的地方在于直接禁止搜索引擎的访问,除了HTTP请求头,几乎不耗费流量,一般情况下这点流量也不会计算在你的消耗的流量当中。这是禁止搜索引擎收录的最好方法。但麻烦在于你不可能得到Google的所有IP段,这个就得靠收集了。

方法二:robots.txt禁止

robots.txt(小写)是放置在网站根目录下的搜索引擎权限控制文件。搜索引擎一般遵守robots.txt协议。通过编辑robots.txt协议,可以禁止某些搜索引擎的访问、禁止某个文件、文件夹被搜索引擎收录,适合用于保护私有文件。搜索引擎通过读取robots.txt,判断自己是否在被禁止搜索引擎之列,如果被禁止,一般不会对该网站进行抓取,除了百度这变态

robots.txt的简单用法:

1.禁止百度收录(想和淘宝一样抵制百度就这么做 :)

  1. User-agent: *
  2. Disallow:
  3.  
  4. User-agent: baiduspider
  5. Disallow: /

首先是User-agent,每个搜索引擎都有自己的User-agent,比如Google的为 Googlebot,百度的为 baiduspider ,可能区分大小写,其他相对应的应该到搜索引擎的帮助页面去查询一下。 * 是一个通配符,通配所有的搜索引擎,Disallow: 项目表示禁止访问的位置,第一个Disallow:后面为空,表示没有禁止访问的项目,也就是允许所有的搜索引擎收录。但如果要添加例外,还可以添加一行User-agent: baiduspider,表示下面的规则仅适合百度蜘蛛,百度蜘蛛的规则是Disallow: / ,也就意味着禁止收录该域名下所有的网页。

在特殊情况下,我们可能希望部分不被所有的搜索引擎收录,比如Wordpress的wp-admin/目录是后台管理的目录,wp-content/是存放主题、插件的目录,这个不需要被搜索引擎收录,可以编辑robots.txt为

  1. User-agent: *
  2. Disallow: /wp-admin/
  3. Disallow: /wp-content/

2.仅允许百度以及Google收录(推荐)

  1. User-agent: Googlebot
  2. Disallow:
  3.  
  4. User-agent: baiduspider
  5. Disallow:
  6.  
  7. User-agent: *
  8. Disallow:/

使用robots.txt需要注意的是,并非所有的搜索引擎都遵守该协议,而且就算遵守该协议不代表蜘蛛不对网站进行抓取,可能是抓取后不发布出来而已,流量是要样要耗费的。

方法三:脚本判断,禁止

这里写一下PHP的方法,其他ASP等方法也是类似的。
检测来访的访客的User-agent(UA),如果是搜索引擎的蜘蛛则立即禁止访问,提示出错信息。

  1. if(preg_match("/(google|baidu)/i", $_SERVER['HTTP_USER_AGENT'])){
  2.     header('HTTP/1.1 403 Forbidden');
  3.     exit;
  4. }

该代码当来访的访客的UA中包含google或baidu字样即返回403禁止信息并退出脚本。

  1. //禁止UA中含有bot/crawl/spider字样的用户
  2. //但允许百度和Google
  3. if(preg_match("/(bot|crawl|spider)/i", $_SERVER['HTTP_USER_AGENT']) && !preg_match("/(google|baidu)/i", $_SERVER['HTTP_USER_AGENT'])){
  4.     header('HTTP/1.1 403 Forbidden');
  5.     exit;
  6. }

用脚本的方法禁止搜索引擎的访问比较方便快捷,特别是WordPress这样的程序,只要加一个插件即可(过些天做一个发布出来)。用这个方法对服务器流量的消耗也不大,可以接受。

PHPxref使用指南

星期五, 八月 22nd, 2008

PHPXref是一个十分优秀的PHP开发工具,它能将某一个程序(如Wordpress)中所有的函数、变量、常量等分类记录,生成一个HTML网页列表,你可以轻松地在这个列表中找到某个函数在什么位置被定义,在什么位置被引用。这一点无论是对于一个Wordpress插件开发者,还是想学习研究Wordpress的人都是十分有用的。

PHPXref官方有个已经制作好的Wordpress的分析文档:http://phpxref.com/xref/wordpress/,此外,PHPXref还制作了多种PHP程序的分析文档,有兴趣的可以Google站内搜索一下。

PHPXref的主要功能包括

1.文件管理。无论要找什么文件,用它能很快地搜索到,如果你的文件中有符合语法规则的注释,PHPXref还能将它列在文件名的旁边,更容易了解这个文件的功能用途,也不用为了找一个文件翻遍整个文件夹,打开每个文件查找注释了。

2.函数、变量、常量、类管理。Wordpress内置了多种功能强大的函数、类,无论是字符处理还是远程URL读取等都有现成的函数,但我们往往不知道这个函数能在Wordpress里面找到,现在容易多了,搜索一下就找到了,如果在开发过程中遇到某个Wordpress函数,不知道它是干什么用的,这时候就得找到这个函数在哪里定义的,可是Wordpress里面上百个文件上哪找去?还是用PHPXref好了。

3.文件包含管理。Wordpress中需要很多 include,require包含别的文件,但偶尔也会遇到重复包含导致出错,虽然require_once可以解决,但我们也最好要了解某个脚本包含了哪些文件,要调用这个文件时也心中有数。PHPXref提供了每个文件的包含文件列表和被包含的文件。

4.源代码高亮。这个功能也是比较实用的,但在实际测试中偶尔会出错。

5.出色的关联功能。在浏览源代码时,将鼠标指到某个函数名,就会在鼠标旁边出现函数的定义页面,以及被使用次数,此外,还对使用较多的变量名,也是可以直接有个页面显示所有的关于这个变量的使用情况。

既然PHPxref那么强大,该如何使用呢?

1.首先,从SF下载最新的程序,现在的版本是0.7,下载那个win32的版本就好了。下载后解压出来。

2.phpxref目录下有一个 source 的文件夹,这是存放源代码的文件夹,把另外下载的Wordpress源代码放到这里来,请注意,不要把 wordpress/这整个目录放进来,而是里面的文件放进来就行了,确保以 source/index.php,source/wp-content/ ..这样的格式就行。

3.运行可执行文件phpxref.exe ,将进行生成文档的工作,这个过程大约需要1分钟左右,由于需要高频率读取硬盘和大量计算消耗CPU资源,请暂停其他工作。

4.提示成功后,output 这个目录下就是所有的文档了,建议在本地上用XAMPP进行调试,把整个output 文件夹搬到 xampp的 htdocs 的目录下,再把名字改为好记的 phpxref ,这样,就可以通过 http://localhost/phpxref/ 访问了。效果和 http://phpxref.com/xref/wordpress/ 的是一模一样,当然,速度快了很多。

PHPXref还提供了在Linux下生成文档的版本,但我很少用Ubuntu,也没有去Ubuntu下测试了,我想更多数人需要的还是Win系统下的,如果有需要,把Win下生成的文档可以搬到服务器上去供大家访问,还可以在页面下面放点Google Adsense广告赚点外快。但PHPxref生成的文档实在太大了,一个1.2MB的Wordpress(压缩包),解压后再生成文档,居然要80多MB的位置!压缩完后也需要接近20MB,所以我打消了把它放在自己服务器上的愿望(说不定制作重复的镜像还会被搜索引擎处罚)。

除了用PHPXref来生成已有的Wordpress或其他PHP示范程序(如Discuz)进行学习外,用PHPXref来生成自己制作的PHP程序,进行检验错误或者是整理代码资源也很有用。我从学PHP至今大概写过5个比较大型的程序(我认为算比较大型了,但没有一个是成型的商业产品),几乎也是写了5次的邮件地址验证函数,用户名验证函数,密码验证函数,MySQL类…看来还得用PHPXref来整理资源了。

在使用PHPxref之前,我还读过awflasher.com提供的简介,特此感谢。