首页 > 教程 > WordPress 关于 wp_tag_cloud 标签字体大小的修改

WordPress 关于 wp_tag_cloud 标签字体大小的修改

[导读]:wp_tag_cloud 是 WordPress 内置的一个用来显示标签的函数,包含了非常丰富的多种显示形式:显示的标签顺序、字体的大小、标签数量等,这些官方文档中都有,这里不一一提了,根...

  wp_tag_cloud 是 WordPress 内置的一个用来显示标签的函数,包含了非常丰富的多种显示形式:显示的标签顺序、字体的大小、标签数量等,这些官方文档中都有,这里不一一提了,根据自己的需要来好了。这里想说的是字体大小,很有趣。wp_tag_cloud 里的 largest 是指最大的字体大小,也就是说文章数量最多的那个 tag 的字体大小,而 smallest 刚好相反,文章数最少的那个 tab 字体大小。设置之后,它会以渐进式的方式显示各标签的字体大小,非常灵活。但是我偏偏用不到这个功能,我想把所有的标签字体都显示一样,不区分大小,那要如何修改呢?

  起先我的方法是设置了largest=8,因为默认最小是 8px 字体,所以全部显示成了8px,虽然一致了,但字体太小了,而且查看源代码,每个 tag 后面都加了一句 font-size:8px 的 style,不清爽。打算从源文件入手,将其删除。wp_tag_cloud 函数位于 wp-includes/category-template.php 下,找到:

// Generate the output links array.
	foreach ( $tags_data as $key => $tag_data ) {
		$class = $tag_data['class'] . ' tag-link-position-' . ( $key + 1 );
		$a[] = sprintf(
			'<a href="%1$s"%2$s class="%3$s" style="font-size: %4$s;"%5$s>%6$s%7$s</a>',
			esc_url( $tag_data['url'] ),
			$tag_data['role'],
			esc_attr( $class ),
			esc_attr( str_replace( ',', '.', $tag_data['font_size'] ) . $args['unit'] ),
			$tag_data['aria_label'],
			esc_html( $tag_data['name'] ),
			$tag_data['show_count']
		);
	}

  我直接将 class=”%3$s” style=”font-size: %4$s;” 删除了,搞定!

本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/jc/10981.html