WordPress “An error occurred, please try again”: Nguyên nhân kiểm tra giấy phép plugin thất bại và cách xóa thông báo

Thông báo WordPress “An error occurred, please try again.” là thông báo lỗi mà plugin premium hiển thị ở đầu màn hình quản trị khi gửi yêu cầu xác minh tới server giấy phép nhưng không nhận được phản hồi hợp lệ. Trên server hiện thông báo này, plugin gây ra thông báo đã được tìm ra nhờ câu thông báo, rồi thông báo được tái hiện bằng chính plugin đó khi thay đổi phản hồi của server giấy phép. Kết quả là thông báo còn lưu lại 1 giờ sau khi server phục hồi đã được xử lý bằng cách xóa giá trị chờ thử lại.

Essential Blocks Pro hiển thị thông báo này trên mọi màn hình quản trị, và thời gian thông báo còn lại khác nhau tùy server giấy phép trả về 503 hay trả về HTML.

Thông báo “An error occurred, please try again.” hiện phía trên danh sách bài viết WordPress

1️⃣ WordPress “An error occurred”: Tìm plugin hiển thị thông báo

Màn hình quản trị WordPress là nơi thông báo này hiện ở phía trên, nên trông như lỗi của chính WordPress, nhưng trong các tệp lõi WordPress không có câu này. Câu này nằm trong mã kiểm tra giấy phép của plugin, nên tìm câu này trong thư mục plugin sẽ biết plugin nào đã hiển thị thông báo.

Khi tìm câu thông báo, hãy phân biệt dấu phẩy và dấu chấm. [An error occurred. Please try again.] ngắt bằng dấu chấm là câu của lõi WordPress: khi tìm thành phố trong widget [Tin tức và sự kiện về WordPress] ở Trang quản trị mà không tải được thông tin sự kiện, câu này hiện bên trong widget chứ không phải ở đầu màn hình.

Lỗi “An error occurred. Please try again.” trong widget Tin tức và sự kiện về WordPress ở Trang quản trị

Câu lõi có thêm [later] ở cuối được dùng khi tệp đã lưu trong trình sửa tệp giao diện hoặc plugin gây lỗi và được khôi phục lại như cũ, và trong màn hình Sửa giao diện. Câu lõi đã có bản tiếng Việt trong tệp dịch tiếng Việt của WordPress, nhưng Essential Blocks Pro không có tệp dịch tiếng Việt, nên thông báo giấy phép vẫn hiện bằng tiếng Anh ngay cả trên màn hình quản trị tiếng Việt.

grep -rl 'An error occurred, please try again' wp-content/plugins --include=*.php
wp-content/plugins/essential-blocks-pro/includes/Deps/WPDeveloper/Licensing/Manager.php

Chạy lệnh trong thư mục cài đặt WordPress; tên thư mục ngay sau wp-content/plugins trong đường dẫn kết quả chính là plugin. Ngoài Essential Blocks Pro, câu này còn có trong mã kiểm tra giấy phép của Advanced Database Cleaner Pro và mã kiểm tra khóa API AI của TranslatePress.

Nếu có nhiều kết quả, hãy xem tên class của hộp thông báo trong mã nguồn trang của màn hình quản trị; thông báo của Essential Blocks Pro dùng class [essential-blocks-pro-notice].

2️⃣ Khi nào thông báo xuất hiện: phản hồi 503, HTML và hết thời gian chờ

Mỗi lần màn hình quản trị được mở, Essential Blocks Pro kiểm tra xem có thông tin giấy phép đã lưu hay không, nếu không có thì gửi yêu cầu xác minh tới server giấy phép. Sơ đồ bên dưới là kết quả mở màn hình quản trị trong khi chỉ thay đổi phản hồi của server giấy phép.

🧭 Kiểm tra giấy phép và thông báo quản trị
Sơ đồ giải thích
📡 Phản hồi của server
🛠️ Sau khi server phục hồi
🖥️ Màn hình quản trị
An error occurred, please try again.
cURL error 28
Không có thông báo
→mỗi lần mở
🧩 Kiểm tra giấy phép plugin
🔑 Thông tin giấy phép 3 tháng📝 Lỗi đã lưu⏳ Chờ thử lại 1 giờ
⇄yêu cầu xác minh
✕không gửi yêu cầu
☁️ Server giấy phép
503
200 · HTML
Không phản hồi 15 giây
200 · JSON
Khi server giấy phép trả về 503, plugin lưu lỗi và đặt thời gian chờ thử lại 1 giờ, rồi cùng một thông báo hiện trên mọi màn hình quản trị.
Dù server giấy phép đã trở lại bình thường, trong 1 giờ chờ plugin không gửi yêu cầu xác minh, nên thông báo đã lưu vẫn còn nguyên.
Nếu mã phản hồi là 200 nhưng nội dung là HTML chứ không phải JSON, cùng một thông báo sẽ được lưu, và lúc này không đặt thời gian chờ thử lại.
Vì không có thời gian chờ thử lại, plugin kiểm tra lại ở màn hình quản trị tiếp theo, và khi nhận được phản hồi hợp lệ, thông báo đã lưu sẽ bị xóa.
Nếu không có phản hồi trong 15 giây, nội dung thông báo đổi thành thông tin lỗi cURL và thời gian chờ thử lại 1 giờ được đặt.
Giống như 503, trong 1 giờ chờ plugin không kiểm tra lại, nên thông báo lỗi cURL vẫn còn.
Khi nhận được phản hồi hợp lệ, thông tin giấy phép được lưu trong 3 tháng và thông báo không hiển thị.
Trong thời gian còn thông tin giấy phép đã lưu, plugin không kiểm tra lại với server giấy phép, nên dù server gặp sự cố thì thông báo cũng không hiện.

Thông báo này hiện khi phản hồi không phải 200 như 503, và khi phản hồi 200 nhưng nội dung là HTML chứ không phải JSON. Nếu không có phản hồi trong 15 giây hoặc kết nối thất bại ngay từ đầu, thông tin lỗi cURL mà WordPress trả về sẽ hiện nguyên trong thông báo, nên trường hợp này bạn sẽ thấy thông báo với nội dung khác.

Thông tin giấy phép được lưu từ phản hồi hợp lệ được giữ trong 3 tháng, và trong thời gian đó, dù server giấy phép gặp sự cố, plugin cũng không gửi yêu cầu xác minh nên thông báo không hiện.

3️⃣ Xóa thông báo còn sót lại sau khi server phục hồi

Dù server giấy phép đã trở lại bình thường, thông báo cũng không biến mất ngay. Khi thất bại do 503 hoặc hết thời gian chờ, plugin đặt thời gian chờ thử lại 1 giờ, và trong thời gian đó không gửi yêu cầu xác minh nên vẫn tiếp tục hiển thị thông báo đã lưu.

wp option list --search='wpdeveloper_sl_failed_http_*'
option_name	option_value
wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642	1792071902

Giá trị là thời điểm kết thúc thời gian chờ (thời gian Unix), và chuỗi ở cuối tên option được tạo từ địa chỉ server giấy phép, nên cùng một plugin thì chuỗi này giống nhau dù khác website.

wp option delete wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642
Success: Deleted 'wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642' option.

Sau khi xóa, mở lại danh sách bài viết thì plugin sẽ kiểm tra lại với server giấy phép, và khi có phản hồi hợp lệ thì thông báo biến mất. Nếu sự cố của server giấy phép vẫn đang tiếp diễn, plugin lại nhận 503 và cùng một thông báo cùng thời gian chờ 1 giờ được đặt lại, vì vậy hãy xóa sau khi server giấy phép đã trở lại bình thường.

🔢 FAQ & nội dung đề xuất

Không. Thông báo chỉ hiện ở đầu màn hình quản trị và không hiện trên các trang mà khách truy cập chưa đăng nhập mở ra.

Có. Essential Blocks Pro không kiểm tra quyền người dùng khi hiển thị thông báo lỗi giấy phép. Ngay cả khi mở màn hình quản trị bằng vai trò Tác giả, vốn không có quyền quản lý plugin, cùng một thông báo vẫn hiện.

Sẽ hiện câu khác. Khi server giấy phép trả về trạng thái hết hạn, thông báo đổi thành [Your Essential Blocks Pro license key expired on …]. Lúc này không đặt thời gian chờ thử lại 1 giờ.

ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Prove your humanity: 7   +   5   =