Khi gặp phải vấn đề đăng nhập WordPress và trang đăng nhập luôn trả về trang trắng (wp-login.php), có thể do nhiều nguyên nhân khác nhau. Dưới đây là một số cách bạn có thể thử để khắc phục:

1. Kiểm tra lỗi qua file error_log

WordPress có thể không hiển thị lỗi trên trang, nhưng bạn có thể kiểm tra file error_log trên hosting để biết chi tiết lỗi. File này thường nằm trong thư mục gốc của website hoặc thư mục wp-admin.

2. Tắt tất cả các Plugin

Một trong những nguyên nhân phổ biến là do plugin xung đột. Để kiểm tra, bạn có thể tắt tất cả các plugin bằng cách:

  • Truy cập vào thư mục wp-content của website qua FTP hoặc trình quản lý file của hosting.
  • Đổi tên thư mục plugins thành một tên khác, ví dụ: plugins_old.
  • Sau đó thử đăng nhập lại. Nếu thành công, nguyên nhân là do một trong các plugin.

Nếu đăng nhập thành công, bạn có thể đổi lại tên thư mục về plugins và kích hoạt từng plugin một để xác định plugin gây ra sự cố.

3. Chuyển về giao diện mặc định

Xung đột với giao diện cũng có thể là nguyên nhân. Để kiểm tra:

  • Truy cập vào thư mục wp-content/themes và đổi tên giao diện hiện tại (ví dụ: mytheme_old).
  • WordPress sẽ tự động chuyển sang giao diện mặc định (ví dụ: Twenty Twenty-One hoặc Twenty Twenty-Two).
  • Kiểm tra lại trang đăng nhập.

4. Tăng giới hạn bộ nhớ PHP

Trang trắng cũng có thể do thiếu bộ nhớ PHP. Để tăng giới hạn, bạn có thể thêm dòng sau vào file wp-config.php:

define('WP_MEMORY_LIMIT', '256M');

Hoặc bạn có thể chỉnh sửa file .htaccess:

php_value memory_limit 256M

5. Kiểm tra lại file .htaccess

Lỗi trong file .htaccess có thể gây ra trang trắng. Bạn có thể thử:

  • Đổi tên file .htaccess thành .htaccess_old.
  • Sau đó thử đăng nhập lại. Nếu thành công, tạo lại file .htaccess bằng cách vào Cài đặt > Đường dẫn tĩnh (Permalinks) và bấm lưu.

6. Cập nhật lại file cốt lõi WordPress

Có thể file hệ thống bị hỏng, bạn có thể tải lại bộ mã nguồn mới nhất từ trang chính thức của WordPress:

  • Tải xuống phiên bản WordPress mới nhất từ wordpress.org.
  • Giải nén và chỉ tải lên thư mục wp-adminwp-includes để thay thế file cũ.

7. Vô hiệu hóa chế độ bảo mật trên trình duyệt

Nếu bạn đang sử dụng một số tiện ích bảo mật hoặc plugin trên trình duyệt có thể gây xung đột với wp-login.php. Hãy thử tắt các tiện ích bảo mật hoặc sử dụng trình duyệt khác để đăng nhập.

8. Kiểm tra quyền truy cập file

Đảm bảo rằng file wp-login.php và các thư mục liên quan không bị thay đổi quyền truy cập. Thư mục nên có quyền là 755 và file nên là 644.

Nếu bạn đã thử các cách trên nhưng vẫn không giải quyết được vấn đề, bạn có thể cần phải kiểm tra lại hosting hoặc liên hệ với nhà cung cấp dịch vụ hosting để kiểm tra cấu hình server.