移花接木实现inove主题的留言功能

注: 不要被文章标题骗到了,其实说的是怎样将inove主题里的留言代码整合到别的主题中,专门供像我这样的菜鸟借鉴 ,技术高手请直接无视.

毫不夸张的说,mg12的inove主题在整个wordpress圈子里已经”泛滥”了. 当然,这充分表明了大家对这款主题的肯定. 的确,如果你觉得自己没有过硬的技术,如果你在寻求一款简单精致的主题,集成了众多功能与特效的inove是再合适不过了.

inove主题里的留言处理部分具有良好的用户体验,是我所喜欢的. 为了将这些功能与效果集成到另外一个主题,我摸索了两天,总算在今天下午的时候捣鼓出来了. 嘿嘿,我耍的是”移花接木” .

1.准备工作

主要是指要有一定的技术准备,具体的可以见下表:

所需知识 本人水平(入门,初级,中级,高级)
CSS 初级
PHP 初级
JavaScript 入门
AJAX 入门
HTML DOM 入门
上面这个表格,一方面说明了本人的水平真的很烂(所以要摸索很长时间),另一方面说明了作为一名Web Developer所需具备的基本技能,这几乎已经成为了标配了(只要去招聘网站上看过应该就都了解的).
此外,还需要准备好的是另一个你想要实现inove那样留言功能的主题,当然,inove主题是少不了的啦(没了主角怎么行呢.)

2.实现过程

这个实现过程可以说很简单,但要是对inove主题内部各个文件的逻辑关系不熟悉,加上菜鸟的技术,那一切都会变得很复杂了,我就是在这种复杂的情况下开始了我漫长的摸索的.

首先,参考的第一个文章是mg12里面介绍的WordPress 评论的 @ 回复,其实,里面已经比较详细的给出了代码是如何实现的.研究过代码,也可以读懂,但实际上我是不知道要将这些代码放在什么地方. 尝试多次之后,我决定不理会这些代码来,而是用inove主题里的comments.php文件替换掉我要修改主题的文件. 当我满心欢喜的进行测试之后,却发现没有任何效果. 在这里第一次卡住了.

没办法, 只能硬着皮头继续回过头去看代码. 我采取的方法是很笨, 就是对比inove主题可以正常评论的页面跟被替换掉comments.php文件后的页面, 虽然费时费力,但功夫不负有心人,终于让我发现, 两个页面的不同之处在于wp_list_comments()这个函数上,wordpress2.7里,将评论显示的功能全部封装在这个函数里, 虽然带来了不少的便利, 但这也让喜欢自己定制评论样式的弟兄们不爽, 于是牛人er都喜欢按照自己的方式来控制comments, inove主题里正是如此的, 它使用了一个自己定制显示的函数, 具体是这样的:

wp_list_comments(‘type=comment&callback=custom_comments’);

它表示的是使用custom_comments()函数来显示comments. 但这个函数并没有集成在comments.php这个函数当中, 而是被集成到了function.php函数里,这样, 只是单纯的复制comments.php函数显然是不行的. 知道问题所在之后, 我便将inove里function.php文件的custom_comments()函数复制到我要修改的主题中. 我第二次满心欢喜的以为大功告成, 谁知道还是不行(大受打击 ).  在这里是第二次卡住了.

再次没辙, 这次是乖乖的看各个文件了, 总觉得是一切正常,没什么问题. 不过慢慢的我就发觉应该是没法加载comments.js这个文件, 这是为什么呢, 我明明就已经将这个文件放到主题中去了. 打开检查. 发现了很多奇怪的语句,如:

MGJS.$(authorID), 我是真的不知道这个是啥玩意, 网上也搜索不出是什么来的. 也不知道怎么地, 让我误打误撞的发现类似这样的语句:

window[‘MGJS_CMT’] = {};

我就在想着是不是表示什么全局变量之类的, 还是在mg12里找到答案, 原来表示的是命名空间. 这隐约的让我感觉到comments.js里的有些语句没法执行, 可能是因为没有找到对应的函数, 而这些函数是调用的, 我找啊找, 最后才发现inove主题里有个叫做base.js的文件, 看来, mg12是把一些比较经常用到的函数都放进这个文件中去了, 赶忙复制过去, 测试, OK,搞掂!!

这就是移花接木实现inove主题的留言功能了, 我把要修动的文件及其操作做成下面的表格以便更好的”移花接木”.

comments.php 1.将inove中的复制到新主题中
comments.js 2.操作同上
function.php 3.将文件中控制留言部分的功能复制进新主题的function.php中
base.js 4.操作同1跟2
heade.php 5.记得要在新主题的该文件中加入调用base.js的代码

对照着操作应该是没什么大问题的.

3.总结收获

虽然是移花接木完成的, 但总归是花了心思在这里, 也在这个过程当中慢慢的增进对各种知识的理解.

(1) 代码很简单, 但是当很多代码放在一起的时候就不简单了.

(2) 看代码首先应该尝试从逻辑结构开始, 然后逐步深入到细节, 一开始就扣细节, 很容易就钻牛角尖了.

(3) css,javascript,php三者的结合真的很强大.

wordpress主题制作

困难远远超出了我的想象.

第一次想要彻底的制作Wordpress主题.

从前阵子就开始断断续续的研究CSS,现在总算是对它有基本的了解,知道怎样利用CSS来表现页面内容,以为就是扫清了制作Wordpress主题,却不知道这才是刚刚开始呢.

怎么看都觉得制作主题是件简单的事情,可当真这彻底的接触,彻底的研究的时候,才发现没有一定的javascript跟php知识,真是很难制作一个让自己称心如意的主题.

现在就卡在了留言功能的实现上了,mg12的inove主题的留言功能是我所喜欢的,在他的主页上也有介绍怎么实现这个功能,但研究了两天还是不知道是咋回事,郁闷死了.呼呼……

另外,跟一个不认识的网友开始翻译一篇叫做"大学里的云计算"的文章,文章的意思似乎不难理解,但是要翻译的准确也是难度不小.

寄语新博开张

大概也是去年的这个时候,开始接触wordpress。

在这个个性张扬的年代,wordpress功能丰富,使用相对较为容易的博客程序无疑能够吸引很多人都眼球,我也不例外。

申请域名,寻找空间,选择主题……我想,每个接触wordpress的人都会经历这样一个程序,我也是这么走过来的。

整个过程下来之后,你会发现,关键的是你写的内容,而最难的是要做到持续更新,我得承认自己做的不好。

沉迷于主题的修改(不擅长),甚至醉心于添加广告,以致忘记了架设独立博客的初衷,加上期间又发生了许许多多的事情使得我无法兼顾,于是开始申请空间都被荒废了……

重新返回wordpress的怀抱,它的版本已经由当时的2.5升至2.7了,数字上是简简单单的增加0.2,但我想这个中一定又是开发人员对于当前互联网发展趋势的把握。一年的时间,网络的发展又是一个怎样的新天地,我是落伍的了。

博客重新开张,特别感谢独立博客空间站免费提供的空间。

我要做的是持续更新,要做到很多,马上行动才是正道。

目前先使用的模板是iNove,主要是这款博客的功能已经是比较完善的了,不管怎样,我得开门迎客先。

接下来是要寻找一款模块,修改使其符合自己的要求,最终是确定博客的主题,坚持之。

废话至此。

再次对独立博客空间站免费提供的空间表示感谢!