升级WordPress 5.1之后没法提交评论?来解决它!

释放双眼,带上耳机,听听看~!

翻车了

去别人博客串门的时候,都看到有提到说 WordPress 5.1 评论回复按键失效的问题,但是我自己停留在 5.0.3 版本上面了,也没感觉,本地测试 5.1 一看,还真的翻车了……

好几个问题:

比如 AJAX 无法提交、点回复按钮会刷新页面,反正就是没法用了。

于是来摸索下怎么解决它,发现好几个办法,现在我给大家说下。

方法只用其中一个就可以了,复制代码的话,代码框右上角有一键复制按钮,方便快速!

方法一

用 JS 直接给“回复”按钮添加 Onclick 事件,适合无 PJAX 的主题。

可以在后台填写网页统计代码的地方粘贴:

$('body').on('click', '.comment-reply-link', function () {
    addComment.moveForm("comment-" + $(this).attr('data-commentid'), $(this).attr('data-commentid'), "respond", $(this).attr('data-postid'));return false;
});

JAVASCRIPTCOPY

该方法来自樱花庄的白猫

方法二

直接加载 WordPress 的评论 JS 文件到页面,适合无 PJAX 的主题。

在主题 functions 文件里加入如下代码:

/**
 * 加载评论回复 JS
 */
function comment_reply_scripts()
{if (is_singular() && comments_open() && get_option('thread_comments')) {wp_enqueue_script('comment-reply');}
}

add_action('wp_enqueue_scripts', 'comment_reply_scripts');

PHPCOPY

该段代码判断页面是否为文章页 + 评论是否开启,然后加载 JS 。

如果你不想写在 functions 文件里面,也可以写在 footer 文件里面,推荐使用函数获取 URL :

<script type="text/javascript" src="<?php echo includes_url( '/js/comment-reply.min.js'); ?>"></script>

HTMLCOPY

方法三

简单粗暴的修改评论模板的“回复”按钮 URL 格式,不限有无 PJAX 的主题。

在评论模板找到这个函数代码并且注释掉或者删掉:

<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))); ?>

PHPCOPY

然后在相同的位置加入:

<a rel="nofollow" class="comment-reply-link" href="<?php echo get_permalink(); ?>?replytocom=<?php comment_ID(); ?>#respond" onclick="return addComment.moveForm('comment-<?php comment_ID(); ?>', '<?php comment_ID(); ?>', 'respond', '<?php the_ID(); ?>')" aria-label="回复给<?php echo $comment->comment_author; ?>">回复</a>

HTMLCOPY

然后就可以了,简单粗暴的拼接 URL 格式……

2333

人已赞赏
首页

WordPress插件,侧栏音乐播放器打包发布!

2019-10-21 23:06:36

首页

flutter 配置Windows 开发环境

2019-10-21 23:11:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索