插件开发全攻略(07)---构造一个WordPress插件管理员面板
任何需要用户输入(诸如改变一个变量)的插件,都需要某种管理面板。建立一个管理面板,并不是那么难的,所以,一个插件作者决定不创建管理面板,而是让用户自己去修改PHP代码的行为让我很是苦恼。让一个用户(TA的PHP知识可能是0)去修改代码通常来说不是一个好主意。本文将深入探讨成功地为你的插件创建管理面板,到底需要些什么。
TrackBack最早是MovableType上的一个小功能。可以说就是这个小功能在blog界却掀起了一场革命。
TrackBack为将全世界无数个blog连接起来的功能。例如,当你读了某个网站的文章,想对此写下自己的感想。这个时候利用网站准备的讨论功能进行投稿是很最常见的做法。但这样只是把自己的评论意见写下来向别人的网站投稿,而你自己手里却什么也没留下。
TrackBack 则与之有很大的区别。可以把评论写到自己网站上。然后向刊载原始文章的服务器发送该网页的URL及标题、部分正文、网站名称等信息(注)。尽管这一过程只是称之为“发送TrackBackPing”,但通过这种办法,在原始文章的地方就留下了你的评论的URL、标题等部分信息。当然别人也可以向原始文章发送TrackBack Ping,所以在原始文章中就将包括你的TrackBack Ping在内的所有评论都记录了下来。
此外,如果你在自己网站上也设置了TrackBack Ping功能的话,那么谁都可以通过TrackBack Ping来发表针对你的意见了。这样,多家网站就通过相关话题而联接起来。各种评论在因特网上就像网眼一样联接起来。这样就创造出了与日记网站完全不同的文化。
注:发送地址采用原始文章指定的URL,这一URL就称为“TrackBack Ping URL”。最后的“128”为原始文章的专用数字,称为“TrackBack ID”。另外,TrackBack的技术标准刊登在“LowLife.jp”的blog网站上。
以上一段文字,讲解了Trackback的含义,我是在一个叫做“雨吁”的博客上抄过来的,我之所以会关注这个问题,是因为我今天在调整自己模板的comments.php。我也想把留言和pingback区分开来,而这个时候,我发现,除了留言和pingback,还有一种trackback。这就让我有些糊涂了。所以,就研究了一下,这一研究,我倒觉得这个问题原来非常地有趣。
我现在对pingback、trackback和comment建立起这么一种印象:
comment是一个读者对你的这篇文章有一点点想法,或者同意,或者不同意,发表下意见。
trackback是一个读者对你的话题有深层次的理解和独到地看法,并且自己也有相当的兴趣,自己撰写相关文章,并通过trackback的方式通知原作者。
pingback则是某一个作者(注意,角色变了)在写作一篇文章的时候,碰巧援引了你的观点,文章中包含了你的链接,你会收到pingback的通知。
综上,我个人认为,对于一篇博客文章来说,最有价值的反馈,应该是trackback,这是一种话题的展开,使得同一个话题得以链接在一起。而comment则是文章作者和读者的一种简单互动,能够增加博客的亲和力。pingback则表明了一篇博客文章的价值,这个就好比你发表了一篇paper,从某种程度来说,这篇paper的价值和其被引用数是成正比的。
其实,WordPress对于这三者有着相当好的理解,在模板标签中,也有着足够的技术上的支持。只是,我们作为博客作者,模板作者,插件作者,往往把这个地方给忽略了。期待着在将来看到WordPress这个博客圈子,能够率先在这个领域做出示范,进而带动整个博客圈子完善这套系统。那个时候,博客的世界应该更有趣吧!
嘿嘿,我的一点感想就发表到这里了,如果没有问题,此文应该给原作者自动发送一个pingback,因为我加了他链接,而我还会额外给他发一个trackback,以表示我对此问题发表了自己的看法。我这么做也希望能够亲身实践一下这个有趣的功能,嘿嘿…………
WordPress actions允许作为插件作者的你插入到WordPress应用中并且执行一段代码。一个Action的例子就是,你想要在一个用户发布完一篇文章或者留下一篇留言的时候执行一个动作。
一些我使用极其频繁的Action有:
开发一个WordPress插件的一个更重要的方面,是你怎样设计它的结构。本文将研究几个关于设计插件结构的提示,以帮助你组织你的插件资源,避免名字冲突。每一个插件作者的插件的结构都不尽相同,所以这些提示只是我的个人偏好。我将首先简单地描述一下一个WordPress插件是怎样工作的,然后介绍一个插件的结构。
在将一个插件放入到wp-content/plugins/目录后,插件应该自动的处于可以安装的状态。
当一个插件被“启用”,等同于告知WordPress将你的代码装载到“每”个页面(包括管理页面)。这也就是为什么当你启用了很多的插件的时候,你的WordPress可能非常慢的原因,这是由它所引入的代码的量决定的。
如果你已经被说服而想要研究一下创建你自己的WordPress插件的可能性,那么找到一个可以让你开始行动的一个创意可能是非常困难的。幸运的是,有很多地方可以让你找到开发你自己的插件的灵感。在本文中,我会罗列好几个方法使你可以找到开发你自己的WordPress插件的创意。
你的读者是你获得插件创意的宝库。比如说,一个读者可能需要一个简单的方式来回复或者编辑评论。因为博客的读者是使用你博客最多的人,他们往往对于你的博客还缺乏哪些功能有着独特的洞察力。就在那天,我的一个读者请求我能不能让评论在发布前可以预览一下。幸运地是已经有一些插件可以提供这个功能了,但是有时候,你的读者会建议一些还没有被插件实现的功能。
Updated:2008-6-2 17:11:15
当初,我装过一个插件,就是把这里发布的博客自动发送到某个邮箱。那个时候,我选择的邮箱是Blogger。想起来有这回事,遂去Blogger看了看,竟然真的有一些的。
但是因为这个插件的某些问题(如通定时发布的日志无法自动发送),并不是每篇日志都被成功复制到Blogger。所以,只是又恢复了一些从4月14日到5月31日之间的非WordPress分类的文章而已。其他的数据,仍旧没有找回。
谢谢关注!
当写作《插件开发全攻略》系列文章的时候,我想,首先罗列一些为什么WordPress用户想要编写一个WordPress插件的理由是有好处的。
下面罗列了为什么一个WordPress用户应该考虑编写一个WordPress插件的七个理由。
对于许多WordPress用户来说,插件是必须的。WordPress 插件使得那些只有很少或者没有编程能力的用户可以扩展他们博客的功能。插件的形式多种多样,在WordPress中,插件几乎可以做任何事情。
即便是WordPress这样一个优秀的独立应用程序,仍旧有许多方面有缺憾。用户所要求的越来越多的WordPress所应该具有的特性,都很可能被开发成插件。此外,还有很多没有实现的创意,而且,每一天还有更多的创意被提出。
在已经发布了三款插件之后(不包括我自己写给自己用的那些),我意识到了一些WordPress的局限性,我希望能够分享一些我已经学到的(我仍旧在学)关于创建WordPress插件的一些经验。最终,我将会开始写一个系列,专门讨论编写你自己的WordPress插件的过程中遇到的各种各样的问题。这个系列将会从非常基础的话题开始,并且假设你的插件知识是零基础。
这个系列是为了任何一个好奇或者想要学习怎样编写他们自己的WordPress插件的用户撰写的。这个系列的读者应该有中级程度的PHP知识,知道一点点JavaScript,并且有相当的CSS知识。
这个插件系列将会使主题模板设计者受益,还有那些想要修补插件代码的人,还有那些想从零开始编写自己的插件的人。
一不小心,就已经很多天没有发表文章了,哎呀真是太懒了^^
其实,我也不知道写点啥好了,主要是最近的生活也没有啥值得一说的。
最近,手头的项目换了,有点乱,还没有进入状态。
很想折腾一下我的博客,但是也提不起兴致。再说也没有时间。
最近在网络上看到篇不错的文章,讲WordPress插件开发的,我打算陆续翻译出来,翻译水平有限,大家将就着看看吧。我主要是自己想学,想深入到WordPress的内部去。不过,渐渐地,我还是觉得这是个很远大的理想。我希望我能坚持住,不断的深入,再深入一点……
这里我把我翻译的原文的链接贴一下吧:
How To Write a WordPress Plugin