Wordpress的旧版dafi主题是没有tags彩色标签的,如果大家下载得更早点免费的dafi主题还不支持中文tags。如果大家有对比dafi pro版会发现,两个版本的 function.php 文件是一样,但是为嘛dafi pro版wordpress主题显示的tags就自动变彩色而老版始终无法变彩色?因为Wordpress主题dafi pro 没有把彩色tags函数写在functions.php文件里面,而是转到了JS文件jquery.dafi.js里面。所以,如果没有tags变色函数,是无法实线彩色tags标签的。下面介绍两种制作彩色标签的方法:
一、随机颜色
将以下代码放入主题包 functions.php 文件内:
<?php 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); ?>
第8行代码’$color=dechex(rand(0,16777215)); ‘作用是定义标签随机颜色的十进制数值范围,0 等于 #000000,16777215 等于 #ffffff。
<?php wp_tag_cloud('smallest=8&largest=24&number=50'); ?>
在你需要展示彩色tags的地方添加上面的代码,就可以在自定义位置展示彩色tags了。
二、自定义颜色
function colorCloudCallback($matches) { $tag_link=$matches[1]; /*颜色集合*/ $colorFull = array('#999','#D8D9A4','#9BB','#EB9','#a3c159','#FEC42D','#6C8C37', '#c2dc15','#3371A3','#888','#00ccff','#FF8080'); $color=$colorFull[ mt_rand(0, count($colorFull) - 1)]; $pattern = '/style=(\'|\")(.*)(\'|\")/i'; $tag_link= preg_replace($pattern, "style=\"color:{$color};$2;\"", $tag_link); return "<a $tag_link>"; } add_filter('wp_tag_cloud', 'colorCloud', 1);
该段自定义颜色的函数代码放在哪里怎样使用就不用我多啰嗦了吧,不会的可以对照着默认模板上面的标签函数,放到新模板的对应位置。
网络推广经验,欢迎分享:广州SEO,网络推广 » 无插件添加 wordpress 彩色tags模块