Bạn muốn tạo một mây thẻ (tag cloud) cho blog WordPress (WP) của mình nhưng không muốn dùng bất cứ plugin nào? Bài viết sau sẽ giúp bạn thực hiện một cách thật nhanh chóng và nhẹ nhàng.
Thực ra bạn có thể dùng 1 Widget có sẵn trong WP, nhưng ở bài này mình sẽ trình bày thêm một cách khác để tạo mây thẻ với độ tùy biến cao và bạn có thể đặt ở bất cứ nơi nào trên giao diện đang dùng!
Ta đã biết mây thẻ sẽ hiển thị các bài viết của blog bạn dưới các thẻ và các thẻ này có kích thước to nhỏ khác nhau để biểu thị số lượng bài viết liên quan tới thẻ đó/ Với WP ta có thể dùng plugin, và hiện có rất nhiều plugin tạo mây thẻ (đặc biệt có loại mây thẻ dùng bằng flash như WP-Cumulus hay Tagnetic Poetry) Tuy nhiên cách mình hướng dẫn sau đây chỉ giúp bạn làm một mây thẻ cơ bản nhưng bạn có thể tùy biến dễ dàng và muốn đặt ở đâu trên giao diện cũng được. Mình sẽ dùng hàm wp_tag_cloud để làm việc này.
Cuối cùng là thưởng thức thôi ^^!
Thực ra bạn có thể dùng 1 Widget có sẵn trong WP, nhưng ở bài này mình sẽ trình bày thêm một cách khác để tạo mây thẻ với độ tùy biến cao và bạn có thể đặt ở bất cứ nơi nào trên giao diện đang dùng!
Ta đã biết mây thẻ sẽ hiển thị các bài viết của blog bạn dưới các thẻ và các thẻ này có kích thước to nhỏ khác nhau để biểu thị số lượng bài viết liên quan tới thẻ đó/ Với WP ta có thể dùng plugin, và hiện có rất nhiều plugin tạo mây thẻ (đặc biệt có loại mây thẻ dùng bằng flash như WP-Cumulus hay Tagnetic Poetry) Tuy nhiên cách mình hướng dẫn sau đây chỉ giúp bạn làm một mây thẻ cơ bản nhưng bạn có thể tùy biến dễ dàng và muốn đặt ở đâu trên giao diện cũng được. Mình sẽ dùng hàm wp_tag_cloud để làm việc này.
Đầu tiên, mở functions.php trong thư mục giao diện, dán đoạn mã dưới vào cuối file:
Sau đó thêm dòng sau vào bất cứ nơi nào trong giao diện để hiển thị:
Bạn hãy tùy chỉnh smallest=8&largest=24&number=50 sao cho phù hợp (smallest là kích thước chữ thẻ nhỏ nhất, largest là thẻ lớn nhất, number là số thẻ muốn hiển thị)
Code:
//Start of colorful tag cloud
function colorCloud($text) {
$text = preg_replace_callback(‘|<a (.+?)>|i’, ‘colorCloudCallback’, $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = ‘/style=(\’|\”)(.*)(\’|\”)/i’;
$text = preg_replace($pattern, “style=\”color:#{$color};$2;\”", $text);
return “<a $text>”;
}
add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1);
//End of colorful tag cloud
Sau đó thêm dòng sau vào bất cứ nơi nào trong giao diện để hiển thị:
Code:
<?php wp_tag_cloud( ‘smallest=8&largest=24&number=50′ ); ?>
Cuối cùng là thưởng thức thôi ^^!