如何让wordpress实现彩色标签云的方法

今天带领你们,纯代码实现wordpress彩色标签云,效果怎样,看看首页右侧的标签云就知道了。先来告诉你们如何调用标签云?比较简便的是进入后台,外观—>小工具 把标签云小工具拖动到右侧便可;你也能够直接在须要调用标签云的模板中加入代码php

<?php wp_tag_cloud(); ?>

实现wordpress彩色标签云

打开 functions.php 文件,插入如下代码wordpress

//彩色标签云
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);

上面红色部分的代码  $color = dechex(rand(0,16777215));用来定义标签随机颜色的十进制数值范围,0 等于 #000000,16777215 等于 #ffffff,建议重定义下,随机的颜色有可能跟你的网页背景色相同,会让用户看不清是什么字。在photoshop中定位好颜色范围后,使用系统自带的计算机便可把16进制转换成十进制数。函数

修改标签云字体大小,排序顺序,显示数量

先找到用来控制显示标云的函数 wp_tag_cloud() ,打开wp-includes\category-template.php 搜索 wp_tag_cloud,找到下列代码工具

function wp_tag_cloud( $args = "" ) {
$defaults = array(
"smallest" => 8, "largest" => 22, "unit" => "pt", "number" => 45,
"format" => "flat", "separator" => "\n", "orderby" => "name", "order" => "ASC",
"exclude" => "", "include" => "", "link" => "view", "taxonomy" => "post_tag", "echo" => true
);

转载于:https://my.oschina.net/u/2475051/blog/511506post