Bài viết này thực hiện theo yêu cầu của bạn CAA đã yêu cầu. Trong khuôn khổ bài viết NhanWeb không thể nói hết việc tùy biến Top Commentors được nên xin giới thiệu với các bạn một số tùy biến mà mình thấy có ích đối với các bạn nhiều nhất. Phần tùy biến khác cái này các bạn tự sướng hoặc cứ đưa câu hỏi lên để mình giải quyết nhé.
Việc đầu tiên trong quá trình chỉnh sửa là bạn phải có plugin trước đã. Phiên bản mới nhất đến thời điểm này là phiên bản 1.4.2, để download plugin này, bạn sử dụng liên kết này: Top Commentators Widget 1.4.2. Nếu các bạn sử dụng plugin nào khác thì không cần quan tâm đến bài viết này nhé :)
Do cấu trúc của plugin này có vẻ hơi khác so với yêu cầu chỉnh sửa của chúng ta nên việc trình bày đôi lúc sẽ không như ý muốn. Nếu các bạn có ý muốn trình bày plugin này như NhanWeb thì các bạn có thể sử dụng những chỉnh sửa dưới đây mà mình sẽ đề cập.
Phụ mục
Yêu cầu chỉnh sửa plugin Top Commentators Widget
Mình muốn trình bày plugin này theo cách hiển thị của Top chém gió hiện tại mà NhanWeb sử dụng. Để trực quan hơn xin mời các bạn xem hình ảnh dưới đây:
Nghĩa là:
- Top Commentors được sắp xếp theo hàng dọc
- Thông tin đầu tiên hiển thị là hình ảnh đại diện (avatar), nếu có liên kết thì chèn liên kết.
- Thông tin tiếp theo hiển thị là số comments của commentors trong tháng và được xuống dòng, không bao gồm liên kết.
Đó là những gì chúng ta muốn…
Tùy biến Top Commentors theo yêu cầu của mình
Với những thông tin như mình đã mô tả ở trên, chúng ta tiến hành chình sửa trong file topcommentators_widget.php như sau:
Đầu tiên bạn cần tìm đoạn mã sau :
[php] if(trim($url) != ”) {// start makelink check
if($makeLink == 1) {
$writeList .= "<a href=’" . $url . "’";
if($noFollow == 1)
$writeList .= " rel=’nofollow’";
if($targetBlank == 1)
$writeList .= " target=’_blank’";
$writeList .= ">";
} // end makelink check
}
[/php]
Thay nó bằng :
[php] /* Removed by Nguyen Duy Nhan – www.nhanweb.comif(trim($url) != ”) {
// start makelink check
if($makeLink == 1) {
$writeList .= "<a href=’" . $url . "’";
if($noFollow == 1)
$writeList .= " rel=’nofollow’";
if($targetBlank == 1)
$writeList .= " target=’_blank’";
$writeList .= ">";
} // end makelink check
}
End removed by Nguyen Duy Nhan – www.nhanweb.com */
[/php]
Mình muốn hủy đoạn mã này vì mặc định nó sẽ lôi cái tên của commentors ra đầu tiên thay vì hình ảnh.
Công việc tiếp theo bạn tìm đoạn mã dưới đây:
[php] if($alignAward==1)$writeList .= $strDisplayAward;
if(strlen($k->comment_author) > $limitChar) {
$str = substr($k->comment_author, 0, $limitChar-3) . "…";
} else {
$str = $k->comment_author;
}
$writeList .= $str;
if($showCount == 1)
$writeList .= ‘ (‘ . $nCommentComments . ‘)’;
if(trim($url) != ”) {
if($makeLink == 1)
$writeList .= "</a>";
} [/php]
Tiếp tục thay nó bằng
[php]
/* Removed by Nguyen Duy Nhan
if($alignAward==1)
$writeList .= $strDisplayAward;
if(strlen($k->comment_author) > $limitChar) {
$str = substr($k->comment_author, 0, $limitChar-3) . "…";
} else {
$str = $k->comment_author;
}
$writeList .= $str;
if($showCount == 1)
$writeList .= ‘ (‘ . $nCommentComments . ‘)’;
if(trim($url) != ”) {
if($makeLink == 1)
$writeList .= "</a>";
}
End remove */
/* Added by Nguyen Duy Nhan – www.nhanweb.com */
$writeList .= "<div class=\"topcommentators_infor\">";
if(trim($url) != ”) {
// start makelink check
if($makeLink == 1) {
$writeList .= "<a href=’" . $url . "’";
if($noFollow == 1)
$writeList .= " rel=’nofollow’";
if($targetBlank == 1)
$writeList .= " target=’_blank’";
$writeList .= ">";
if($alignAward==1)
$writeList .= $strDisplayAward;
if(strlen($k->comment_author) > $limitChar) {
$str = substr($k->comment_author, 0, $limitChar-3) . "…";
} else {
$str = $k->comment_author;
}
$writeList .= $str;
if(trim($url) != ”) {
if($makeLink == 1)
$writeList .= "</a>";
}
if($showCount == 1)
$writeList .= "<br /><span class=\"topcommentators_total\">" . $nCommentComments ."</span> comments.";
/* new added by Nguyen Duy Nhan*/
$writeList .="</div>";
} // end makelink check
}
/* End added by Nguyen Duy Nhan – www.nhanweb.com */
[/php]
Cũng là một lệnh hủy lệnh thực thi ở đoạn mã trên. Công việc này nhằm dọn dẹp tất cả những thứ hiện ra bên ngoài để mình có thể dễ dàng tùy biến theo ý mình. Sau đó mình lập trình lại cách hiển thị tương ứng với yêu cầu của mình đồng thời bổ sung thêm 1 số thẻ div và class để thuận tiện khi tùy chỉnh CSS của giao diện.
Bạn tiếp tục tìm
[php] if($alignAward == 2)$writeList .= $strDisplayAward;
$writeList .= "</li>\n";
</pre>
Trong dòng bạn sẽ thấy
<pre lang="php">
$writeList .= "</li>\n";
[/php]
Chúng ta thay đoạn mã trên bằng
[php]
//Added by Nguyen Duy Nhan – www.nhanweb.com
$writeList .= "<br clear=\"all\" /></li>\n";
//End new added by Nguyen Duy Nhan – www.nhanweb.com
[/php]
Mình muốn bổ sung
nhằm xóa sổ các tàn tích còn lại của các định dạng CSS trước đó để khi hiện ra sẽ đẹp hơn.
Cuối cùng là save lại và upload lên thay thế cho file cũ.
Cuối cùng là việc tùy biến CSS lại là được rồi.
Bonus: tùy chỉnh CSS cho Top Commentors dạng cột
Đây là đoạn mã CSS mà mình đang sử dụng, có lẽ sẽ có ích cho các bạn. Bạn chỉ việc gán nó vào file CSS của giao diện hiện tại là được:
[css] /* Top comment widgets */ul.topcommentators, ol.topcommentators{
list-style:none;
margin:5px;
padding:0;
}
.topcommentators li{
display:block;
}
img.tcwGravatar{border: 1px solid #DDDDDD; float:left; padding:5px;}
img.tcwGravatar:hover {border: 1px solid #EBEBEB;}
.topcommentators_infor{
margin-left:65px;
}
.topcommentators_total{ font-weight:bold;}
.topcommentators_infor a{
font-weight:bold;
}
[/css]
Lưu ý
Nếu việc chỉnh sửa đối với bạn quá khó khăn do bạn không rành code php cũng như không hiểu cấu trúc một plugin của WordPress, mình có một lựa chọn dễ dàng hơn cho bạn: download plugin này (đã được mình chỉnh sửa sẵn) theo liên kết được mình đính kèm bên dưới về là có thể sử dụng. Dĩ nhiên bạn phải thêm đoạn CSS vào file style.css của theme đang dùng. Việc này không thể làm thay được bạn rồi :)
Link download: Top Commentors Widget dạng cột chỉnh sửa bởi Nguyễn Duy Nhân
Hi vọng các bạn thích thủ thuật WordPress này.
Pumama says
Công việc lại trở lên vô cùng đơn giản khi chúng ta cài Top Contributors Plugin :). Ra y hệt anh ạ :D :D
Nguyễn Duy Nhân says
Vậy anh ! Mình chưa sử dụng plugin này nên cũng không biết. Thui thì anh em cần cái gì thì mình cung cấp cái đó. Cám ơn bạn đã cho một idea nữa để mọi người thêm lựa chọn :)
CAA says
Cảm ơn bác, lại biết thêm 1 plugin hữu ích =D>
CAA says
Cảm ơn bác Nhân đã có hồi âm sớm :) Em không phải là dân chuyên CNTT nhưng em rất kết những bài viết hướng dẫn sử dụng code (mặc dù em mù tịt về code) :D
Cho em hỏi thêm 1 chút nữa được không bác. Em muốn hiển thị theo chiều ngang thì phải sửa thế nào ạ? Em nhớ trước kia bác cũng đã từng sửa nó theo chiều ngang mà :)
CAA says
À bác Nhân ơi, Cái plugin mà Pumama giới thiệu nó cũng làm được việc này. Có lẽ plugin này hay hơn. Cảm ơn bác về bài viết, nó giúp em hiểu thêm 1 chút về code >:D< :)
Nguyễn Duy Nhân says
uh! Mình cũng cảm thấy vậy vì không phải ngồi nghịch code. Thú thật cái plugin mình đang sử dụng mỗi lần nâng cấp phiên bản cũng hơi cực nhọc phết :D
Nguyễn Khánh Hưng says
Cái này hay nè. Cám ơn bác nhiều. Viết nhiều về WordPress nha bác
Nguyễn Duy Nhân says
Nhiều anh em quan tâm tới WordPress nhỉ :)
Nguyễn Khánh Hưng says
Ai bảo bác giỏi WP chi :D
Nguyễn Duy Nhân says
Em không nói chuyện giỏi hay dỡ bác ah ! Em thấy nhiều anh em quan tâm đến WordPress thôi mà. Còn về phía em thì các bác cứ vô tư đi: biết gì chém gió nấy >:D<
Ha Thanh says
Cho mình hỏi cách cấu hình hay plugin nào làm việc như cái: BÌNH LUẬN MỚI
Cái Top comment này các bạn nên chỉnh size làm 40 thì tốt hơn.
Nguyễn Duy Nhân says
Mình sử dụng Recent Comments with Gravatar.
Ha Thanh says
Cảm ơn nhiều nhé mình làm được rồi. Cái topcommen tự dưng xuất hiện dấu chấm. Bullet xấu quá đí.
Nguyễn Duy Nhân says
Dùng CSS loại nó được mà :D
Nguyen Tuan Dat says
Anh oi
Giup em tuy bien Recent Comment with Gravatar voi
Web anh khong co midium nen khong go Tieng Viet dc
mong anh thong cam
Ha Thanh says
A mình thấy dùng cái plugin này hay hơn
http://wordpress.org/extend/plugins/top-contributors/screenshots/
Nguyễn Tuấn Đạt says
Mình dùng thử rồi
Nó không đc đẹp
Ha Thanh says
Ah nhân tiện đây cho mình hỏi cách phân trang trong Genesis như của nhanweb nhé! :((