- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Một trong những trang web khách hàng của chúng tôi đã bị hack và quên mật khẩu người dùng hoặc đã bị thay đổi bởi tin tặc. Điều này về cơ bản đã khóa người dùng không thể truy cập vào bảng quản trị của mình. Trong trường hợp này chỉ cần tạo mới tài khoản người dùng quản trị viên để có quyền truy cập vào bảng điều khiển quản trị WP.
Trong hướng dẫn này, mình sẽ chỉ cho bạn các cách có thể tạo tài khoản người dùng quản trị viên WordPress mới thông qua cơ sở dữ liệu MySQL.
Đầu tiên bạn truy cập vào cPanel, trong mục Database bạn mở ứng dụng phpMyAdmin.
Thêm mới user
Chọn database từ danh sách & tìm bảng wp_users và nhấn vào liên kết insert.
Chúng ta sẽ thêm một bản ghi vào bảng users. Nhập vào các trường sau:
- ID: bỏ qua trường này, giá trị sẽ tự động điền cho bạn.
- user_login: thêm tên username bạn muốn sử dụng
- user_pass: mật khẩu người dùng. Chọn MD5 trong cột function
- user_nicename: bỏ qua giá trị này
- user_email: nhập email bạn muốn sử dụng cho user
- user_url: bỏ qua
- user_registered: chọn ngày đăng ký, lấy ngày hiện tại.
- user_status: điền giá trị 0
- display_name: bỏ qua
Sau đó nhấn nút Go.
Bạn có thể xem lại dữ liệu bảng wp_users Và thấy giá trị mới bạn vừa mới thêm.
Ghi nhớ giá trị trường ID của user này, chúng ta sẽ cần nó ở bước tiếp theo. Ở đây ID=2
Thêm thông tin usermeta
Bước kế tiếp, chúng ta sẽ gán dữ liệu meta cho người dùng đã tạo ở trên. Mở bảng wp_usermeta và nhấn vào liên kết “insert”:
Nhập vào các trường với giá trị sau:
- unmeta_id: để trống, giá trị này sẽ tự động tạo
- user_id: ID của user mà chúng ta đã tạo ở bước trước. Bạn điền giá trị 2
- meta_key: điền ‘wp_capabilities’
- meta_value: điền giá trị này:
a:1:{s:13:"administrator";s:1:"1";}
Làm như hình sau:
Bạn thêm một bản ghi mới với thông tin sau:
- unmeta_id: để trống, giá trị này sẽ tự động tạo
- user_id: ID của user mà chúng ta đã tạo ở bước trước. Bạn điền giá trị 2
- meta_key: điền giá trị ‘wp_user_level’
- meta_value: 10
Nhấn nút Go để thêm bản ghi vào database.
Vậy là xong, chúng ta đã có thêm một người dùng quản trị. Bạn có thể sử dụng tài khoản này để thay đổi mật khẩu của người dùng khác hoặc xóa tài khoản của họ nếu muốn.
Sử dụng SQL
Với những bạn là dân lập trình bạn sẽ muốn tối ưu công việc này bằng các lệnh SQL. Sử dụng lệnh SQL sau:
INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Your Name', '[email protected]', 'http://www.test.com/', '2011-06-07 00:00:00', '', '0', 'Your Name'); INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'); INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_user_level', '10');
Sử dụng WordPress API
Bạn cũng có thể tạo user bằng cách sử dụng hàm WordPress. Để thực hiện, bạn thêm đoạn mã sau vào cuối tệp functions.php
add_action('init', 'add_user'); function add_user() { $username = 'username123'; $password = 'azerty321'; $email = '[email protected]'; if (username_exists($username) == null && email_exists($email) == false) { // Create the new user $user_id = wp_create_user( $username, $password, $email ); // Get current user object $user = get_user_by( 'id', $user_id ); // Remove role $user->remove_role( 'subscriber' ); // Add role $user->add_role( 'administrator' ); } }
Sau khi user đã được thêm vào wordpress, bạn có thể xóa bỏ đoạn code trên để không ảnh hưởng tới tốc độ WordPress.
Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
quoc tin says
là mình vào trang quản trị của wordpress với vai trò là quản lý, nhưng mình đã xóa tất cả user rồi nhưng mình ko đc vai trò của quản trị viên, nên ko thêm đc một plugin nào hết
Hoàng Quách says
bạn cần reset lại roles trong wordpress nhé, sau đó tạo user dưới quền administrator.