WordPress 5.5 回复按钮失效

有些童鞋升级WordPress 5.5 后发现回复按钮失效,在WordPress 5.1时就出现过,问题大部分出现在自定义了评论函数或者使用Ajax评论的主题中。

症状是:点击回复按钮刷新页面,并且评论表单不能嵌套。

问题原因是WordPress开发人员,修改了评论核心文件。经测试貌似是修改了wp-includes\\js目录的comment-reply.js文件,用5.4.2版本的文件替换后,问题消失。

同一个问题出现两次,有点太不顾成千上万的主题用户了,也没有明确的说明文件,只顾折腾块编辑器….

WordPress 5.5 回复按钮失效

解决办法,可以尝试将下面的代码加到主题中:

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行

代码来源:https://wp-kama.ru/function/get_comment_reply_link

另外,WordPress 5.5与主题和插件不兼容的问题很多,在官网上层出不穷。

因WordPress 5.5并没有安全类的更新,也没有中文版,用之前的语言文件,后台存在大量的异族文字,目前我自己并没有升级,估计中文版这次又是遥遥无期了。

你也想帮助翻译?

WP官方所有语言项目链接:https://translate.wordpress.org

WP官方简体中文翻译项目地址:https://translate.wordpress.org/locale/zh-cn/

WordPress 5.5更新重点还是折腾区块编辑器而已,顶着绝大部人的反对,费力不讨好地开发区块编辑器新功能,如果开发人员看了“Classic Editor(经典编辑器)”切换插件,5+百万的下载安装量,不知道会是个什么滋味。

官方之前说2022后,彻底移除经典编辑器,到时如果没有替代品,对广大用户是一个灾难,对WordPress也会是一个极大的损失,会有人抛弃WordPress转投其它程序。

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容