Wordpress无插件实现彩色标签云

发布日期:2018-04-23 17:41:33 作者:冬镜SEO

  • 正文内容
  • 相关推荐
原创

标签云是很多WordPress主题都有的一个主题元素

今天重庆SEO就讲讲如何为你的主题模版添加彩色标签云

Wordpress无插件实现彩色标签云

当然也包括侧边栏调用和文章内容页面调用

一、调用标签云

使用wp_tag_cloud()函数实现标签云的调用

如下面的样例

<?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=0&orderby=count&order=DESC');?>
代码注释

smallest表示标签的最小字号

largest表示最大字号

unit=px表示字体使用像素单位

number=0表示显示所有标签,如果为40则显示40个

orderby=count表示按照标签所关联的文章数来排列

order=DESC表示降序排序(ASC表示升序排序,DESC表示降序排序)

二、添加彩色功能

根据上面的参数你已经可以调用出标签云了

然后将下面的代码添加到主题模版functions.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);
三、制作标签云页面

1、复制并打开你主题模版下的page.php文件在该文件的顶部添加

<?php
/*
Template Name: Tags
*/
?>
2、使用下面的代码替换page.php中的 <?php the_content(); ?>
<?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=0&orderby=count&order=DESC');?>
3、一般这个页面是不需要评论功能的删除page.php中下面的代码即可
<?php if (comments_open()) comments_template( '', true ); ?>
4、你还可以根据自己的需要删除page.php中的某些功能

最后将该文件另存为page-tags.php

这样一个wordpress的标签云模板就做好了

5、访问 Wordpres的后台-页面-新建页面

页面名称可以自己任意填写,只需要在页面属性中选择tags模板即可

四、边栏中调用标签云

你可以使用下面的函数调用,具体的修改方法,就靠你自己折腾主题了:

<?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=20');?>
不过一般制作比较规范的WordPress主题都支持 Widget小工具

你可以在WP后台-外观-小工具中查看是否支持标签云小工具

提示:

本教程只是告诉你如何实现彩色标签云以及如何调用

但是具体的样式就要靠你自己通过CSS代码去实现美化了

标签:

标题:Wordpress无插件实现彩色标签云

链接:http://uqseo.com/wordpress/60.html

版权:若无特殊标注皆为 冬镜SEO 原创版权,转载请以链接形式注明作者及原始出处

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

2条评论
  1. avatar

    冬镜SEO Internet Explorer  Internet Explorer  iPhone iOS 11.3 iPhone iOS 11.3 回复

    滴!学生卡!打卡时间:上午8:47:26,请上车的乘客系好安全带~

    重庆市沙坪坝区 联通

    1. avatar

      激进的Coder Lv.1 Chrome 65.0.3325.181 Chrome 65.0.3325.181 Windows Windows 回复

      大佬,为什么我的实现不了这个效果?

      重庆市 电信