有些童鞋升级WordPress 5.5 后发现回复按钮失效,在WordPress 5.1时就出现过,问题大部分出现在自定义了评论函数或者使用Ajax评论的主题中。
症状是:点击回复按钮刷新页面,并且评论表单不能嵌套。
问题原因是WordPress开发人员,修改了评论核心文件。经测试貌似是修改了wp-includes\js目录的comment-reply.js文件,用5.4.2版本的文件替换后,问题消失。
同一个问题出现两次,有点太不顾成千上万的主题用户了,也没有明确的说明文件,只顾折腾块编辑器….
解决办法,可以尝试将下面的代码加到主题functions.php中:
add_filter( 'comment_reply_link', 'mytheme_replace_comment_reply_link', 10, 4 );
function mytheme_replace_comment_reply_link( $link, $args, $comment, $post ){
if ( get_option( 'comment_registration' ) && ! is_user_logged_in() ) {
$link = sprintf( '<a rel="nofollow" class="comment-reply-login" href="%s">%s</a>',
esc_url( wp_login_url( get_permalink() ) ),
$args['login_text']
);
} else {
$onclick = sprintf( 'return addComment.moveForm( "%1$s-%2$s", "%2$s", "%3$s", "%4$s" )',
$args['add_below'], $comment->comment_ID, $args['respond_id'], $post->ID
);
$link = sprintf( "<span class='comment-reply-link' data-href='%s' onclick='%s' aria-label='%s'>%s</span>",
esc_url( add_query_arg( 'replytocom', $comment->comment_ID, get_permalink( $post->ID ) ) ) . "#" . $args['respond_id'],
$onclick,
esc_attr( sprintf( $args['reply_to_text'], $comment->comment_author ) ),
$args['reply_text']
);
}
return $link;
}
该方法之前用于WP5.1,同样适用于W5.5,可以适当修改其中的class适应自己的主题结构。
程序自带的代码位于wp-includes目录comment-template.php大约1817行
另外,WordPress 5.5与主题和插件不兼容的问题很多,在官网上层出不穷。
因WordPress 5.5并没有安全类的更新,也没有中文版,用之前的语言文件,后台存在大量的异族文字,目前我自己并没有升级,估计中文版这次又是遥遥无期了。
WordPress 5.5更新重点还是折腾区块编辑器而已,顶着绝大部人的反对,费力不讨好地开发区块编辑器新功能,如果开发人员看了“Classic Editor(经典编辑器)”切换插件,5+百万的下载安装量,不知道会是个什么滋味。
官方之前说2022后,彻底移除经典编辑器,到时如果没有替代品,对广大用户是一个灾难,对WordPress也会是一个极大的损失,会有人抛弃WordPress转投其它程序。
其他声明:如未标明出处,所有文章均为蓝魅网络原创,转载请务必保留本文链接,感谢您支持。
蓝魅网络 » 关于WordPress 5.5 评论回复按钮失效问题
-
售后服务范围 1、商业模板使用范围内问题免费咨询 2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限会员用户 3、单价超过200元的模板即可以免费一次安装,需提供服务器信息 付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服 2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务 3、服务器环境配置安装(一般 ¥50-300) 4、网站中毒处理(需额外付费,500元/次/质保三个月) 售后服务时间 周一至周日(法定节假日除外) 9:00-23:00 免责声明提示 本站所提供的资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 495553705@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!