Cách hiển thị nội dung dựa trên vai trò người dùng WordPress

Khi tạo một trang web WordPress, việc cung cấp nội dung hoặc chức năng dựa trên vai trò hoặc khả năng của người dùng thường rất hữu ích. Ví dụ: bạn có thể muốn hiển thị nội dung đặc biệt trên trang web của mình, nhưng chỉ dành cho quản trị viên. Đó chỉ là một trong nhiều khả năng.

Điều khá hữu ích là WordPress có chức năng tích hợp để trợ giúp. Hàm current_user_can () cho phép bạn kiểm tra quyền của người dùng được kết nối. Dựa trên thông tin đó, bạn có thể cung cấp cho họ bất cứ điều gì đặc biệt mà bạn muốn. Ngược lại, bạn cũng có thể vô hiệu hóa một số mặt hàng.

Tiếp tục với ví dụ về nội dung đặc biệt được đề cập ở trên, chúng tôi sẽ đi sâu vào một số đoạn cơ bản cho phép chúng tôi thêm chức năng này.

Thí dụ 1: chỉ quản trị viên

Trong ví dụ này, chúng tôi sẽ xác minh xem người dùng được kết nối truy cập trang của chúng tôi có phải là quản trị viên trang hay không. Nếu vậy, một thông điệp chào mừng nhỏ sẽ được hiển thị.

Trước khi nhập mã, cần lưu ý rằng có nhiều hơn một cách để xác minh quyền của người dùng. WordPress Codex tuyên bố rằng chúng tôi có thể cung cấp vai trò người dùng hiện có trong hàm current_user_can (), tuy nhiên điều đó không được khuyến khích. Có thể có sự không chính xác dẫn đến một cái gì đó sai xảy ra.

Thay vào đó, chúng ta có thể sử dụng các khả năng của vai trò người dùng cụ thể đó. Có một danh sách đầy đủ các khả năng mà mỗi vai trò người dùng có trong Codex. Vì vậy, thay vì kiểm tra xem người dùng có phải là quản trị viên hay không, chúng tôi có thể kiểm tra xem họ có khả năng cụ thể không, chẳng hạn như kích hoạt plugin.

Bây giờ, hãy nhìn vào một mã. Sau đây sẽ xuất hiện trong mẫu chủ đề bạn chọn.

          

Howdy, Administrator!

Trong trường hợp này, chúng tôi đang kiểm tra xem liệu người dùng có thể kích hoạt bổ trợ hay không, điều mà chỉ quản trị viên (và, trong cài đặt đa trang web, siêu quản trị viên) mới có khả năng thực hiện.

Thí dụ 2: hãy cá nhân với các thành viên

Trong khi ví dụ đầu tiên hiển thị một thông điệp chung, chúng ta cũng có thể tạo ra trải nghiệm cá nhân hóa hơn. Điều này đặc biệt quan trọng nếu bạn đang chạy một trang web thành viên. Giúp xây dựng ý thức cộng đồng đó.

Tại đây, chúng tôi sẽ thêm một tin nhắn cá nhân bao gồm tên người dùng. Chúng ta có thể tận dụng thông tin này thông qua hàm get_civerse_user (). Chúng tôi cũng sẽ cho rằng các thành viên của chúng tôi được chỉ định vai trò của người đăng ký trong WordPress.

          

Howdy, user_firstname; ?>! Thanks for being a part of our community.

BTW, khả năng đọc một bài đăng là khả năng cấp thấp nhất trong WordPress. Do đó, nó áp dụng cho tất cả các cấp độ người dùng, không chỉ người đăng ký. Điều này chỉ đảm bảo rằng chúng tôi không bỏ rơi bất cứ ai.

Ngoài việc xác minh khả năng đọc, chúng tôi cũng hiển thị tên người dùng trong tin nhắn. Tuy nhiên, có nhiều khả năng hơn liên quan đến dữ liệu người dùng có thể được thêm vào hỗn hợp.

Thí dụ 3: một tiêu đề tùy chỉnh, dựa trên khả năng của người dùng

Ví dụ cuối cùng của chúng tôi, hãy làm một cái gì đó ấn tượng hơn một chút. Chúng tôi sẽ cung cấp các tiêu đề chủ đề khác nhau, tùy thuộc vào khả năng của người dùng.

Thông qua chức năng get_header (), WordPress cho phép sử dụng nhiều tệp tiêu đề. Và hiển thị chúng dựa trên điều kiện người dùng có thể rất hữu ích. Ví dụ: một thành viên trang web có thể được hưởng lợi từ một tiêu đề được cá nhân hóa cao. Không phải thành viên có thể thấy một cái gì đó chung chung hơn.

Trong mã của chúng tôi, chúng tôi sẽ kiểm tra lại nếu người dùng của chúng tôi có khả năng đọc. Và chúng tôi cũng sẽ thêm xác minh bổ sung để đảm bảo rằng họ đã đăng nhập, thông qua is_user_logged_in (), chỉ trong trường hợp.

Nếu bạn sử dụng mã này trong một dự án, nó sẽ thay thế trong suốt các mẫu của bạn.

          



          


Ở trên, chúng tôi đang kiểm tra xem người dùng có các khả năng chính xác hay không và họ có thực sự đăng nhập không. Nếu cả hai mục trả về true, tệp tiêu đề tùy chỉnh sẽ được hiển thị. Nếu không, tiêu đề mặc định của chủ đề của chúng tôi sẽ được hiển thị.

Cơ hội để làm nhiều hơn cho người dùng

Các ví dụ trên chỉ là những cách nhỏ để chúng tôi có thể cải thiện trải nghiệm người dùng. Nhưng đó cũng là tiềm năng để làm nhiều hơn nữa. Thực sự, giới hạn duy nhất là trí tưởng tượng của riêng bạn!

Vì vậy, lần tới khi bạn tạo một trang web WordPress, hãy tìm cách cung cấp cho người dùng các tính năng dựa trên vai trò và khả năng của họ. Họ sẽ đánh giá cao nỗ lực và bạn sẽ tạo ra một trang web hoàn chỉnh hơn.