了解WordPress的tags标签自定义样式

在WordPress众多函数内,wp_tag_cloud()函数的作用是用来获取标签云的,该函数可以根据每个标签所关联的文章次数来定义字体大小、标签排序等属性。

从WordPress2.8版本开始,该函数添加了 分类法(taxonomy)参数,这就意味着,除了 标签(tags)以外,还可以将 分类(Categories) 或其他 自定义分类法(Custom Taxonomies)作为“云”显示。

但由于该方法把样式集合到了里面,使用起来不怎么友好,如果想自定义读取标签并修改展示样式该怎么做呢,那也是非常简单的,看代码实例,这里根据get_tags来获取:

$html = \\\\\\\'<ul class=\\\\\\\"post_tags\\\\\\\">\\\\\\\';
foreach (get_tags( array(\\\\\\\'number\\\\\\\' => 50, \\\\\\\'orderby\\\\\\\' => \\\\\\\'count\\\\\\\', \\\\\\\'order\\\\\\\' => \\\\\\\'DESC\\\\\\\', \\\\\\\'hide_empty\\\\\\\' => false) ) as $tag){
	$color = dechex(rand(0,16777215));
	$tag_link = get_tag_link($tag->term_id);
 
	$html .= \\\\\\\"<li><a href=\\\\\\\'{$tag_link}\\\\\\\' title=\\\\\\\'{$tag->name} Tag\\\\\\\' class=\\\\\\\'{$tag->slug}\\\\\\\' style=\\\\\\\'color:#{$color}\\\\\\\'>\\\\\\\";
	$html .= \\\\\\\"{$tag->name} ({$tag->count})</a></li>\\\\\\\";
}
$html .= \\\\\\\'</ul>\\\\\\\';
echo $html;

如果要求随机获取标签在首页显示,那可以使用以下代码,但这种做法貌似不利于seo,可得慎重使用

//获取随机标签
function get_rand_tags()
{
	global $post, $wpdb;
	$sql = \\\\\\\"SELECT * FROM {$wpdb->prefix}terms wt INNER JOIN {$wpdb->prefix}term_taxonomy wtt on  wt.term_id=wtt.term_id where wtt.taxonomy=\\\\\\\'post_tag\\\\\\\' ORDER BY RAND() LIMIT 20\\\\\\\";
	$related_posts = $wpdb->get_results($sql);
	$html = \\\\\\\'<ul class=\\\\\\\"post_tags\\\\\\\">\\\\\\\';
	foreach($related_posts as $tag)
	{
		$color = dechex(rand(0,16777215));
		$tag_link = get_tag_link($tag->term_id);
		$html .= \\\\\\\"<li><a href=\\\\\\\'{$tag_link}\\\\\\\' target=\\\\\\\'_blank\\\\\\\' title=\\\\\\\'{$tag->name} Tag\\\\\\\' class=\\\\\\\'{$tag->slug}\\\\\\\' style=\\\\\\\'color:#{$color}\\\\\\\'>\\\\\\\";
		$html .= \\\\\\\"{$tag->name} ({$tag->count})</a></li>\\\\\\\";
 
	}
	$html .= \\\\\\\'</ul>\\\\\\\';
	echo $html;
}

以上便是使用 wp_tag_cloud()函数来自定义WordPress的tags标签样式的相关WordPress教程,希望对您有帮助!