如何修改WordPress标签云小工具的个数、颜色、字体大小、等参数

作者 : sinyi 发布时间: 2019-09-23 文章热度:122 共2050个字,阅读需6分钟。 隐藏侧边 显示侧边

有些WordPress主题使用的是WordPress自带的标签云小工具,默认的显示个数、字体大小、排序等也许不能满足你的需求,好在WordPress提供了 widget_tag_cloud_args 这个 filter可以修改默认的参数。

在你当前主题的 functions.php 文件添加下面的代码即可:

//custom widget tag cloud
add_filter( 'widget_tag_cloud_args', 'theme_tag_cloud_args' );
function theme_tag_cloud_args( $args ){
	$newargs = array(
		'smallest'    => 8,  //最小字号
		'largest'     => 22, //最大字号
		'unit'        => 'pt',   //字号单位,可以是pt、px、em或%
		'number'      => 45,     //显示个数
		'format'      => 'flat',//列表格式,可以是flat、list或array
		'separator'   => "\n",   //分隔每一项的分隔符
		'orderby'     => 'name',//排序字段,可以是name或count
		'order'       => 'ASC', //升序或降序,ASC或DESC
		'exclude'     => null,   //结果中排除某些标签
		'include'     => null,  //结果中只包含这些标签
		'link'        => 'view' //taxonomy链接,view或edit
		'taxonomy'    => 'post_tag', //调用哪些分类法作为标签云
	);
	$return = array_merge( $args, $newargs);
	return $return;
}

WordPress添加彩色标签云

标签云是很多WordPress主题都有的一个主题元素,今天就讲讲如何为你的主题添加彩色标签云,包括边栏调用和页面调用。

1.调用标签云

我们可以使用 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表示降序排序)

2.添加彩色功能

根据上面的参数,你已经可以调用出标签云了,将下面的代码添加到主题的 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);

3.制作标签云页面

复制你主题的 page.php 文件,在该文件的顶部添加:

<?php
/*
Template Name: Tags
*/
?>

使用下面的代码替换page.php中的 <?php the_content(); ?> :

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

该页面一般不需要评论功能,删除 page.php 中下面的代码:

<?php if (comments_open()) comments_template( '', true ); ?>

你还可以根据自己的需要,删除page.php中的某些功能,最后将该文件另存为 page-tags.php ,这样,一个标签云模板就做好了。

访问 WP后台-页面-新建页面,页面名称自己填,只需要在 页面属性 中,选择 tags 模板即可:

4.边栏中调用标签云

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

<?php wp_tag_cloud('smallest=12&largest=18&unit=px&number=20');?>

不过,一般制作比较规范的WordPress主题,都支持 Widget小工具,你可以在 WP后台-外观-小工具 中查看是否支持 标签云小工具。

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
资源客 » 如何修改WordPress标签云小工具的个数、颜色、字体大小、等参数

发表评论