如何在wordpress插件中实现ajax

时间:2007-11-11 17:41:04      类别:Web技术|WEB Tech, Wordpress      本文链接:生活点滴Enjoy Life

wordpress的优秀之处在于可以随便插,方便插,随处插.所以定制性是相当强悍的,可以做成CMS,甚至论坛.虽然有人会说这样很BT,但是如果你熟悉php,能站在WP的肩膀上,做出效率很高的其他程序又有何不可呢?一不小心又说了这么多的废话,毕竟我对WP的敬仰犹如滔滔江水.下面切入正题,介绍一下如何用插件配合javascript脚本在wordpress中实现ajax.

Ajax其实没有传说中的那么复杂的,只要你稍微熟悉一点javascript就能自己写ajax程序了.在这里我想稍微纠正一些观点,那就是大家常说的那些滑动门技术,那些很炫的div特效其实和ajax技术无关的,仅仅是通过js捕获鼠标事件再加上CSS美化完成的,而Ajax=>AsynchronousJavaScript+XML,说白了就是异步载入XML数据的一种javascript实现罢了. 通过ajax,我们可以在指定的DIV内根据需要在需要的时候载入数据从而实现无刷新更新内容.由于ajax获取的仅仅是需要的数据,所以变相的节约了网络中传输的数据量,提高了页面的载入速度,这也就是ajax能提速的原因,记住,这是ajax能提速的唯一的地方.所以千万别太迷信ajax的提速效果.关于ajax的实现,网络上可以google一大堆代码出来,所以我这里就不重复了.我推荐大家用jquery这个js框架,而不是自己去写复杂的ajax,具体的jquery和ajax请参考我的这篇文章.

客户端的js搞定了,现在的问题就是如何用插件来给ajax提供数据.前面说了,wordpress可以在很多地方接受你的插入,而对于ajax,我们最关心的就是在程序执行的初期进行插入,所以这里要用到这个勾子(hook)“add_action(”init”,”func”)”,这样就能利用默认的wordpress程序来给ajax提供数据,而不是自己编写第三方代码获取数据,下面给一段代码例子:

  1. /*
  2. Plugin Name: cos-smaple
  3. Plugin URI: http://www.storyday.com
  4. Description: sample
  5. Version: 1.0
  6. Author: jiangdong
  7. date:2007-11-11
  8. Author URI:http://www.storyday.com
  9. */
  10. function ajaxsample(){
  11. if( $_GET['ajax'] == true ){//如果用ajax,则需要在请求的时候加上特殊的?ajax=true,否则会影响正常的页面
  12. echo $_GET['key'];//这里将浏览器的get变量echo出来 ?key=my-custom-key
  13. /*这里可以根据这个key在数据库中获取内容
  14. ........这里省略代码若干行........
  15. */
  16. die();//因为仅仅是获取ajax数据用,所以ajax数据任务完成之后直接将程序die掉,别给出多余的数据。
  17. }
  18. }

add_action(’init’, ‘ajaxsample’);

激活了这个插件之后,大家访问http://your-domain.com/index.php?ajax=true&key=your-custom-key
看看会有什么结果,是不是按照你的期待出现了特定的ajax需要的数据?本站主页右边显示的当前用户的历史留言就是这样来的,同样利用这样的方法可以在wordpress中实现更多精彩的ajax技术.

由于ajax技术本身需要使用人员对客户端和浏览器端的关系要清晰,并且至少应该要熟悉一点javascript编写,如果你是wp的爱好者,请首先要熟悉wp的模板编写方法.所这篇文章不是一篇入门的文章,唯一有的作用那就是“点拨”,希望对某些特定的朋友有所帮助.

鉴于前几天某些网友的E-mail和在本站的留言求助,写下了上面的文字,当然本人非此专业人士,有错误请指出哦,谢谢!

标签:,
发表于 2007-11-11 17:41:04 目录:Web技术|WEB Tech, Wordpress [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
如果您喜欢本blog,欢迎你的feed订阅,谢谢你的支持

前3排已经被占据了 快抢好位置哦

  • 1楼 偶爱偶家 在 2007.11.12 18:15发表评论如下:

    最近大家ms都写插件的写法, 我最近也有这么个打算, 哈

    有几个朋友在问这个问题,所以便写了。写吧写吧,让更多的人来给wp做贡献

  • 2楼 偶爱偶家 在 2007.11.12 18:45发表评论如下:

    主要是我实在有点懒, 一直提不起兴趣.

    你看我的blog很久都没有wp相关的文章了就知道我早就提不起兴趣了,哎,懒了,连bloggermap.org的改版都一直拖在那里了

  • 3楼 U4 在 2007.11.14 23:36发表评论如下:

    谢谢你!真是体贴,:)

  • 转到第
(Required)
(Required, not published)
如果留言未显示请不要重复留言,我将为你恢复!


生活点滴Enjoy Life is proudly powered by WordPress | admin| About Us | cosbeta| Bluehost| site map 0.488s & 37