Nội dung bài viết
Giới thiệu
Trong quá trình sử dụng WordPress mình có vài lần gặp phải lỗi mất quyền User và mình thấy cũng có nhiều bạn gặp phải lỗi này nhưng chưa biết cách xử lý. Thì ở bài viết này mình sẽ hướng các bạn cách xử lý nếu gặp phải trên website của mình.
Làm sao để biết website bị mất quyền User
Khi bạn truy cập vào trang quản trị website và đăng nhập với User đó, mà bạn không vào được trang quản trị mà nhận được thông báo như hình bên dưới, hoặc bị chuyển hướng về trang chủ thì User của bạn đã bị mất quyền.
Hoặc nếu trên máy chủ Host/VPS của bạn có hỗ trợ WP-CLI và Terminal thì bạn có thể sử dụng lệnh bên dưới để kiểm tra
wp user list (Nếu sử dụng Hosting) wp user list --allow-root (Nếu sử dụng VPS)
Như hình trên các bạn có thể thay phần roles của user admin bị trống, nghĩa là hiện user này đang bị mất quyền.
Hướng dẫn xử lý
Cách 1: Cập nhật quyền User qua phpMyadmin
Bước 1: Xác định ID của User bị mất quyền
Tại giao diện phpMyadmin, bạn truy cập vào đúng Database của website. Tiếp đó bạn truy cập vào tables wp_users để xem list các User hiện có trên website của bạn. Ở đây User bị lỗi của mình là User admin, và ID tương ứng của nó là 5
Sau khi xác định được ID của User bị lỗi, bạn xem tiếp bước 2 để cập nhật quyền.
Bước 2: Cập nhật lại quyền cho User
Để cập nhật quyền cho User, bạn chuyển sang tables wp_usermeta (1) và tìm nhanh phần _capabilities (2) tương ứng với ID là 5 , ID 5 chính là User admin mình đã xem ở Bước 1. Và phần (3) chính là role của User bị mất.
Bây giờ bạn hãy chỉnh sửa lại phần Role (3) với nội dung các quyền User tương ứng bên dưới.
============ Các quyền mặc định trong WordPress =============
Administrator
a:1:{s:13:"administrator";b:1;}
Subscriber
a:1:{s:10:"subscriber";b:1;}
Contributor
a:1:{s:11:"contributor";b:1;}
Author
a:1:{s:6:"author";b:1;}
Editor
a:1:{s:6:"editor";b:1;}
Ở đây User admin của mình set nó là quyền Administrator, do đó mình sẽ thêm nội dung role tương ứng với Administrator. Các bạn chỉ việc click đúp vào ô và điền nội dung cần điền , sau đó nhấn Enter.
Cách 1: Cập nhật quyền User qua WP-CLI
Với cách này chúng ta sẽ sử dụng dòng lệnh WP-CLI để cập nhật quyền cho User. Tại của sổ Terminal của Hosting/VPS, bạn sử dụng cấu trúc bên dưới để cập nhật
Lưu ý: Phần ID bạn nhập ID tương ứng với User bị mất quyền
wp user update ID --role=administrator (Nếu sử dụng Hosting) wp user update ID --role=administrator --allow-root (Nếu sử dụng VPS)
Sau khi cập nhật lại quyền cho User theo 1 trong 2 cách trên, bạn hãy đăng nhập vào quản trị website với User đó để kiểm tra lại. Như hình dưới là mình đã cập nhật quyền thành công và đăng nhập vào quản trị bình thường.
Chúc các bạn thực hiện thành công.!