WordPress默认的标签云样式不怎么美观,颜色也有些单调。小编使用的DUX主题的“DUX 标签云”也是中规中矩,本来想要修改成彩色的标签,只是网上搜索测试了半天,也没有成功。后来找到一个教程,直接修改WordPress小工具自带的标签云,通过自定义代码,完美实现彩色标签(效果见下图)。而且这种方式,理论上不只适用于dux主题,其他的主题应该也是可行的。
操作方法
在当前主题的functions.php文件加入以下代码(可通过外观—主题编辑器修改):
//圆角背景色标签 function colorCloud($text) { $text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text); return $text; } function colorCloudCallback($matches) { $text = $matches[1]; $colors = array('F99','C9C','F96','6CC','6C9','37A7FF','B0D686','E6CC6E'); $color=$colors[dechex(rand(0,7))]; $pattern = '/style=(\'|\")(.*)(\'|\")/i'; $text = preg_replace($pattern, "style=\"display: inline-block; *display: inline; *zoom: 1; color: #fff; padding: 1px 5px; margin: 0 5px 5px 0; background-color: #{$color}; border-radius: 3px; -webkit-transition: background-color .4s linear; -moz-transition: background-color .4s linear; transition: background-color .4s linear;\"", $text); $pattern = '/style=(\'|\")(.*)(\'|\")/i'; return "<a $text>"; } add_filter('wp_tag_cloud', 'colorCloud', 1);
然后到WordPress后台,通过外观
——小工具
——标签云
,添加后就能看到效果了。
注:这里的“标签云”是指WordPress自带的,而非当前主题的,如本站使用的DUX主题的“DUX 标签云”
至于标签的颜色,通过修改其中的颜色代码,就可以更改成自己喜欢的
$colors = array('F99','C9C','F96','6CC','6C9','37A7FF','B0D686','E6CC6E');
其他方案(不会改变原标签整体样式):
// 随机颜色标签云 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);
评论0