Hướng dẫn thêm User Role cạnh comment trong WordPress

Đã có một vài người dùng hỏi rằng liệu có thể tô đậm hoặc hiện thị User Role bên cạnh comment trong WordPress không? Hiện user role giúp tăng độ uy tín của comment được đăng bởi người dùng đó, ví dụ như: Author, Editor, Admin… Trong bài viết này, Diều Hâu sẽ hướng dẫn cách thêm user role cạnh comment trong WordPress.

hướng dẫn thêm user role bên cạnh comment

Tại sao nên thêm User Role bên cạnh comment trong WordPress?

Nếu bạn cho phép người dùng đăng kí tài khoản trên website hoặc website có nhiều tác giả, thì user role có thể giới thiệu vị trí của họ trên website.

Ví dụ: Một Editor khi bình luận 1 điều gì đó trên website, bên cạnh comment của họ sẽ xuất hiện 1 cái label nho nhỏ, giúp mọi người biết rằng lời bình luận này được viết bởi một biên tập viên. Việc này giúp xây dựng uy tín và tăng tương tác của website.

Có nhiều theme WordPress chỉ cho phép highlight bình luận được viết bởi tác giả. Do đó các vị trí khác đều sẽ không hiện lên được label, thậm chí cả các bình luận được viết bởi người dùng đã đăng kí và admin cũng vậy.

Cách thêm user role bên cạnh tên người viết trong comment

Thao tác này têu cầu người dùng phải thêm 1 đoạn code vào file theme WordPress.

Điều đầu tiên bạn cần làm là thêm đoạn code sau vào file functions.php

<span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span>if ( ! class_exists( 'WPB_Comment_Author_Role_Label' ) ) :
class WPB_Comment_Author_Role_Label {
public function __construct() {
add_filter( 'get_comment_author', array( $this, 'wpb_get_comment_author_role' ), 10, 3 );
add_filter( 'get_comment_author_link', array( $this, 'wpb_comment_author_role' ) );
}
 
// Get comment author role 
function wpb_get_comment_author_role($author, $comment_id, $comment) { 
$authoremail = get_comment_author_email( $comment); 
// Check if user is registered
if (email_exists($authoremail)) {
$commet_user_role = get_user_by( 'email', $authoremail );
$comment_user_role = $commet_user_role->roles[0];
// HTML output to add next to comment author name
$this->comment_user_role = ' <span class="comment-author-label comment-author-label-'.$comment_user_role.'">' . ucfirst($comment_user_role) . '</span>';
} else { 
$this->comment_user_role = '';
} 
return $author;
} 
 
// Display comment author                   
function wpb_comment_author_role($author) { 
return $author .= $this->comment_user_role; 
} 
}
new WPB_Comment_Author_Role_Label;
endif;

Sau khi thêm đoạn code trên, bô lọc của WordPress sẽ bắt đầu hiển thị user role bên cạnh comment của họ.

Bạn có thể kiểm tra các post hoặc comment trong từng bài viết để thấy sự thay đổi. Bình luận được viết bởi người dùng có đăng kí sẽ có thêm biểu tượng. Những bình luận được viết bởi người dùng không đăng kí sẽ chỉ hiển thị tên tác giả.

Trong đoạn code sau chứa 1 class CSS cho từng user role, do đó chúng ta có thể dùng từng class CSS để tùy chỉnh thêm như hiển thị màu sắc chẳng hạn.

Bạn có thể bắt đầu tùy chỉnh từ đoạn code CSS mẫu dưới đây:

.comment-author-label {
    padding: 5px;
    font-size: 14px;
    border-radius: 3px;
}
 
.comment-author-label-editor {  
background-color:#efefef;
}
.comment-author-label-author {
background-color:#faeeee;
}
 
.comment-author-label-contributor {
background-color:#f0faee;   
}
.comment-author-label-subscriber {
background-color:#eef5fa;   
}
 
.comment-author-label-administrator { 
background-color:#fde9ff;
}

Những thay đổi sau khi bạn đã thêm function mới

Hi vọng sau bài viết này, bạn sẽ biết thêm được một thủ thuật wordpress mới. Nếu bạn thích bài viết này, hãy bấm like và share nhiệt tình nhé.

Chia sẻ lên:
Đăng ký
Thông báo về
guest
2 Bình Luận
Inline Feedbacks
View all comments

công
công
20/11/2018 10:13 chiều

chủ thớt cho em hỏi trường hợp mình muốn phân quyền quản trị cho người mới đăng ký tài khoản với quyền 1. Được quyền: thêm, sửa 1 plugin. như upload gallery chẳng hạn (tự động tạo ko cần administrator kiểm duyệt) 2. sau khi tạo album và người này có thể tạo bài viết và hiển thị album đó ra ngoài webite dưới sự kiểm duyệt của administrator. 1 và 2 đều cùng một kiểu phân quyền (SUBCRIBER) _________________________________________________________ vậy vấn đề này chủ thớt phân quyền như thế nào ạ! mong anh quan tâm và phản hồi giúp… Đọc thêm »

Diều Hâu
Quản trị viên
Trả lời  công
20/11/2018 10:35 chiều

Chào bạn, về câu hỏi của bạn thì mình thấy như sau:
1. Thêm và sửa plugin: không biết bạn có dùng từ nhầm không. Plugin mà để cho user tự thêm và tự sửa thì sao chạy được? Mình hiểu ý bạn là có 1 tính năng gì đó của plugin mà bạn cài đặt như upload gallery.
2. Về các tính năng như bạn muốn thì theo mình biết hiện tại không có plugin nào có thể làm được như vậy cả. Cái này bạn sẽ phải tự code nhé.
Chúc bạn thành công