远方的海
远方的海,WordPress,免费
2015 Aug 20 22 : 25

WordPress Ajax评论:不刷新页面提交评论

您当前的位置: 首页 > WordPress > WP技巧 > 正文
欢迎光临远方的海!您可能还对 WordPress建站免费资源最新IT动态 感兴趣,点击开启 悦读 模式。CTRL+D 快捷收藏本文,我们期待您再次光临!
[文章目录]

大家用的Ajax comments的代码都是Willin Kan留下的了,网上很多代码失效,或者教程不全,这里在参考了博主 @ZWW 的代码后,整理一下汇总把最新的办法发出来,在Wordpress4.2版本的环境下亲测可用。

Ajax评论的优点

  • 大气优雅,不刷新页面,用户体验好
  • 由于调用了不同的提交文件,有效的防止了垃圾评论
  • 看上去比较装逼

实现Ajax评论的前提

  • 条件一:先确定自己所用主题的评论列表调用是否使用 WordPress 官方推荐的 wp_list_comment() 函数(一般在 comments.php)
  • 条件二:如果“条件一”满足,那么看看 wp_list_comment() 有没有加回调函数参数callback,如果有请检查是否跟 WP 官方的回调函数示例类似,看这里点击前往
  • 条件三:看看评论框是否使用 comment_form() 函数生成,如果不是,请确保html结构差不多,特别是输入框的ID是否为 comment

其实大多数主题这三项都是满足的,然后下载所需要的文件,已经打包上传到百度云点击下载 解压得到comments-ajax.jscomments-ajax.php放到主题的根目录下。

一些必要的修改

其实大多数的主题多半都是对的,小小的略看一下就好,如果有错的则修改一下~~

1. 看看主题 header.php、footer.php 或者 functions.php 有没有这样的函数:如果有,删除或者注释掉。

wp_enqueue_script( 'comment-reply' );

2. 确定所用主题的 header.php 里面 </head> 前有 <php wp_head(); ?>footer.php 里面 </body> 前有 <?php wp_footer(); ?>
3. 直接在functions.php 加上如下代码来加载 jQuery 库和 comments-ajax.js 文件

if (!is_admin()) {
	function zfunc_scripts_method() {
		wp_enqueue_script('jquery');//如果已经有jquery,这行删除
		if (is_singular()||is_singular()) { 
                wp_enqueue_script('comments_ajax_js', (get_template_directory_uri()."/comments-ajax.js"), false, '1.3', true); } 
                  } 
        add_action('wp_enqueue_scripts', 'zfunc_scripts_method'); }

如果主题已经加载了jquery库,则删除上面的加载jquery的那行。

4. 在comment.php中查看form action函数,把其调用的php文件原先调用WP默认提交comments的wp-comments-post.php改成我们上传的comments-ajax.php,如下面的代码:

<form action="<?php bloginfo('template_url'); ?>/comments-ajax.php" method="post" id="commentform">

如果你还想更换的防止垃圾评论,这个时候还可以通过.htaccess文件添加一个规则,禁止外部对wp-comments-post.php的访问,代码如下,加在.htaccess中:

 RewriteEngine On
 RewriteCond %{REQUEST_URI} .wp-comments-post.php*

大功告成!

好文!分享给朋友,或者点个赞吧~

文章信息

分类:WP技巧

您可能也会喜欢

发表回复

Post Comment


  1. ASD俺说的 :

    打死D阿斯顿撒旦

    2019-9-22
  2. bngvhouyaj :

    天龙开服服务端-奇迹Mu开服服务端-魔兽开服服务端-魔域开服服务端-墨香开服服务端
    天堂2开服服务端-传奇3开服服务端-英雄王座开服服务端-千年开服服务端-征途开服服务端
    新魔界开服服务端-骑士开服服务端-烈焰开服服务端-破天开服服务端-决战开服服务端
    美丽世界开服服务端-乱勇OL开服服务端-倚天2开服服务端-完美世界开服服务端-征服开服服务端
    天堂开服服务端-传世开服服务端-真封神开服服务端-劲舞团开服服务端-天上碑开服服务端
    永恒之塔开服服务端-仙境RO开服服务端-诛仙开服服务端-神泣开服服务端-石器开服服务端
    冒险岛开服服务端-惊天动地开服服务端-热血江湖开服服务端-问道开服服务端-密传开服服务端
    火线任务(Heat Project)开服服务端-飞飞OL开服服务端-洛汗开服服务端-天之炼狱开服服务端
    丝路传说开服服务端-大话西游开服服务端-蜀门开服服务端-机战开服服务端-剑侠情缘开服服务端
    绝对女神开服服务端-传说OL开服服务端-刀剑开服服务端-弹弹堂开服服务端-科洛斯开服服务端
    魔力宝贝开服服务端-武林外传开服服务端-网页游戏开服服务端-页游开服服务端-希望OL开服服务端
    成吉思汗开服服务端-剑侠世界开服服务端-全民奇迹开服服务端-挑战OL开服服务端
    红月开服服务端-十二之天(江湖OL)开服服务端-倚天开服服务端-dnf开服服务端

    玩游戏不如开游戏,自己当GM卖游戏道具赚钱!游戏赚钱两不误的发家工具!
    最低几百就能成为暴利游戏老板!一切技术我们服务,一切辛苦我们扛住!
    开sf游戏就到(www.07oe.com)私服一条龙,成全您的暴富梦想!!!

    私服开区一条龙服务(网络游戏私服开服制作)-服务器租用
    私服广告代理-游戏版本-开区套餐-网站模版
    官方网站www.07oe.com
    客服咨询QQ49333685(企鹅扣扣)
    Email:49333685@qq.com

    http://www.07oe.com免费版本下载(大量版本免费下载):
    http://www.07oe.com/soft/index.html
    魔域私服一条龙制作_07oe.com 墨香sf一条龙开服_07oe.com 神泣开区一条龙服务端_07oe.com

    2018-6-10
  3. 66666 :

    哈哈哈哈哈哈

    2015-10-10
  4. 老杨 :

    没挂啊,https://fatesinger.com

    PS:你这访客不能回复?

    2015-9-2
    • Sven水神 :

      访客不能回复怎么说?= =

      2015-9-2
    • Sven水神 :

      哎 又可以开了 之前一直是503数据库错误的。

      2015-9-2
    • Sven水神 :

      @老杨 PS,点击小头像可以回复楼中楼哦!

      2015-9-2
  5. 老杨 :

    好像大发修改那个版本更好。

    2015-9-1
    • Sven水神 :

      可惜大发的博客貌似挂了。

      2015-9-2
  6. 众推不靠谱 :

    教程不错,不过好像很多主题都已经集成了这种功能

    2015-8-22
    • sven水神 :

      @众推不靠谱 我是最近加上的ajax,那天你提交bug就是因为这个修改后缓存没刷新。

      2015-8-22