以下由WordPress教學欄位來介紹WordPress 5.5 回覆按鈕失效的解決方法,希望對需要的朋友有幫助!
有些童鞋升級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行
程式碼來源:https://wp-kama.ru/function/get_comment_reply_link
#另外,WordPress 5.5與主題和外掛不相容的問題很多,在官網上層出不窮。
因WordPress 5.5並沒有安全類的更新,也沒有中文版,用之前的語言文件,後台存在大量的異族文字,目前我自己並沒有升級,估計中文版這次又是遙遙無期了。
WordPress 5.5更新重點還是折騰區塊編輯器而已,頂著絕大部人的反對,費力不討好地開發區塊編輯器新功能,如果開發人員看了「Classic Editor(經典編輯器)」切換插件,5 百萬的下載安裝量,不知道會是個什麼滋味。
官方之前說2022後,徹底移除經典編輯器,到時如果沒有替代品,對廣大用戶是一個災難,對WordPress也會是一個極大的損失,會有人拋棄WordPress轉投其它程式.
以上是關於WordPress 5.5 回覆按鈕失效問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!