• Webmaster Tools
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
  • DNS Check
  • CheckIP
  • Liên Hệ
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT

Hướng dẫn tạo role User WordPress

by ĐỖ TRUNG QUÂN 14/07/2025
Tác giả: ĐỖ TRUNG QUÂN 14/07/2025 0 comments 3 lượt xem
Dịch vụ xử lý mã độc WordPress
WEB MẪU WORDPRESS
Share FacebookTwitterPinterestTelegramEmail
3

NỘI DUNG

  • Phương pháp 1: Sử dụng WP-CLI
    • Bước 1: Tạo lại các role mặc định
    • Bước 2: Tạo role Translator
    • Bước 4: Kiểm tra kết quả
    • Lưu ý:
  • Phương pháp 2: Sử dụng file PHP
    • Bước 1: Tạo file PHP
    • Bước 2: Chạy file PHP
    • Lưu ý:
  • Kết luận

Hướng dẫn tạo role User WordPress dễ và đơn giản nhất.

Vừa rồi mình có support một bạn không login được vào WordPress. Sau khi kiểm tra thì xác định do user mất quyền admin và điều đáng chú ý hơn là role user cũng không còn luôn.

Dưới đây là hướng dẫn chi tiết để tạo lại các role trong WordPress bằng hai phương pháp: sử dụng WP-CLI và sử dụng file PHP. Hướng dẫn này sẽ giúp bạn khôi phục các role mặc định (administrator, editor, author, contributor, subscriber) và tạo role tùy chỉnh (translator), đồng thời gán role cho người dùng cụ thể.

Hướng dẫn tạo role User WordPress
Role user không còn và User mất role khi kiểm tra.

Phương pháp 1: Sử dụng WP-CLI

WP-CLI là công cụ dòng lệnh mạnh mẽ để quản lý WordPress. Và cách này chỉ khả dụng khi Hosting/VPS bạn có hỗ trợ WP-CLI. Và các lệnh dưới đây sẽ giúp bạn tạo lại các role đã bị xóa.

Bước 1: Tạo lại các role mặc định

Các role mặc định của WordPress bao gồm: administrator, editor, author, contributor, và subscriber. Bạn có thể sử dụng lệnh wp role create với tùy chọn –clone để sao chép quyền từ role mặc định.

Copy
# Tạo role Administrator
wp role create administrator Administrator

# Tạo role Editor
wp role create editor Editor 

# Tạo role Author
wp role create author Author

# Tạo role Contributor
wp role create contributor Contributor

# Tạo role Subscriber
wp role create subscriber Subscriber

Bước 2: Tạo role Translator

Role translator không phải là role mặc định của WordPress, vì vậy bạn cần tạo role này và thêm các quyền tùy chỉnh nếu cần.

Copy
# Tạo role Translator
wp role create translator Translator

# Thêm quyền tùy chỉnh cho Translator (ví dụ: edit_posts và read)
wp cap add translator edit_posts read --site

Bước 4: Kiểm tra kết quả

Sau khi chạy các lệnh trên, kiểm tra danh sách role để đảm bảo chúng đã được tạo:

Copy
wp role list

Sau khi chạy lệnh thì các role đã được tạo lại đầy đủ.

DTQ 2025 07 14 at 10.37.23

Lưu ý:

  • Nếu role đã tồn tại, bạn có thể cần xóa chúng trước bằng wp role delete <role> –yes.
  • Đảm bảo bạn đang chạy lệnh WP-CLI trong thư mục cài đặt WordPress và có quyền truy cập admin.

Phương pháp 2: Sử dụng file PHP

Bạn cũng có thể tạo lại các role bằng cách sử dụng mã PHP để khôi phục các role mặc định và gán role cho người dùng. Dưới đây là hướng dẫn sử dụng file PHP.

Bước 1: Tạo file PHP

Tạo một file PHP (ví dụ: restore_roles.php) trong thư mục gốc của WordPress hoặc một thư mục an toàn.

Copy
<?php
// Restoring default WordPress roles
function restore_wordpress_roles() {
    // Remove all existing roles to reset
    global $wp_roles;
    if (!isset($wp_roles)) {
        $wp_roles = new WP_Roles();
    }
    $wp_roles->roles = [];
    $wp_roles->role_objects = [];
    $wp_roles->role_names = [];
    $wp_roles->use_db = true;

    // Reinitialize default roles
    require_once(ABSPATH . 'wp-admin/includes/schema.php');
    populate_roles();
}

// Assign roles to users
function assign_user_roles() {
    $user_roles = [
        6 => 'administrator',
        5 => 'editor',
        3 => 'administrator',
        4 => 'editor',
        1 => 'administrator',
    ];

    foreach ($user_roles as $user_id => $role) {
        $user = get_user_by('ID', $user_id);
        if ($user) {
            // Remove all existing roles
            $user->set_role('');
            // Assign new role
            $user->set_role($role);
            echo "Updated user ID {$user_id} with role {$role}\n";
        } else {
            echo "User ID {$user_id} not found\n";
        }
    }
}

// Execute the functions
restore_wordpress_roles();
assign_user_roles();
?>

Bước 2: Chạy file PHP

Sau khi tạo xong, bạn chạy file php với lệnh sau.

Copy
wp eval-file restore_roles.php

DTQ 2025 07 14 at 10.42.20

Sau khi chạy xong, thực hiện kiểm tra. Các role đã được tạo thành công, đồng thời các role của user đã được phục hồi.

DTQ 2025 07 14 at 10.46.30

Lưu ý:

  • Role Translator: Trong file PHP, role translator được tạo với các quyền cơ bản (read, edit_posts). Bạn có thể tùy chỉnh danh sách quyền trong hàm add_role.
  • Bảo mật: Đảm bảo file PHP không được truy cập công khai sau khi sử dụng.
  • ID người dùng: Thay đổi mảng $user_roles trong file PHP để khớp với ID người dùng thực tế trong hệ thống của bạn.

Kết luận

WP-CLI phù hợp nếu bạn muốn quản lý nhanh qua dòng lệnh và có quyền truy cập SSH. File PHP hữu ích khi bạn cần tích hợp vào quy trình tự động hoặc không có WP-CLI.

5/5 - (1 bình chọn)
rolewordpresswp-cli

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Group Facebook Group Zalo Group Telegram
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog DOTRUNGQUAN.INFO - CaiSSL.COM - QuantriVPS.COM. Mới đây mình có tạo ra nhóm Hỗ trợ Server - Hosting & WordPress | Hỗ Trợ Xử Lý Mã Độc WordPress với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

BÀI VIẾT LIÊN QUAN

Hướng dẫn cài đặt WordPress tự động trên...

06/06/2025

Hướng dẫn dọn dẹp database WordPress

11/04/2025

Hướng dẫn xử lý mã độc website WordPress

30/03/2025

Hướng dẫn cài đặt Microsoft Clarity vào website...

20/03/2025

Sửa Lỗi Không Upload Được Ảnh AVIF Trên...

12/03/2025

Sửa lỗi “Updating failed. Could not update post...

17/02/2025

Khắc phục website WordPress bị noindex

27/11/2024

Hướng Dẫn Bảo Mật WordPress Toàn Diện Với...

20/11/2024

Top Plugin Bảo mật Miễn phí cho WordPress...

09/11/2024

Tăng cương bảo mật WordPress với WordPress Manager

01/11/2024
Author Box
Author Image

ĐỖ TRUNG QUÂN

Chuyên viên quản trị hệ thống.

Tư vấn & triển khai dịch vụ

VPS | Hosting | SSL | Mailserver | Website | Sửa lỗi WordPress

Bài viết của tác giả

Hosting/VPS khuyên dùng

Phổ Biến

  • Hướng dẫn tạo SSH Key trên macOS

  • Hướng dẫn sử dụng SSH Key

  • Hướng dẫn cài đặt v2board trên AAPANEL

  • Vấn đề IP Public liên tục bị thay đổi vì sao và cách khắc phục

  • Hướng dẫn cài đặt MTProxy trên Linux

  • Khắc phục lỗi không hiện hình ảnh và mô tả khi share link lên Facebook

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | CỔ Ý CONCEPT | Trương Quốc Cường | Đàm Trung Kiên | Web An Tâm | Phong Đinh | Học Mò | PHUNG.VN | Đăng Đạt

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT