1. 苏葳的备忘录首页
  2. 编程

WordPress的标签云的字体设置

wordpress php某主题的标签云(tagcloud)的字体显示,在win7的IE9 ,xp的IE8及chrome的显示下,大小不同。win7的IE9下显示明显比xp的IE8下要小。倒是chrome在xp和win7下的显示大小无甚区别。用chrome审查该元素,发现其inline style的font-size是8pt,而非其余各处使用的px单位,也许这就是问题所在。奇怪的,搜遍了wordpress目录,也找不到任何含8pt或tagcloud的文件,究竟是哪里设置的,只得网上查查。

ust fin the category-template.php file in wp-includes folder and edit this:
function wp_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 18, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
change the number 18 to ex. 15 which will give you small font. see ya.

上面指出了这个8pt的来源在category-template.php。

I wouldn't change the defaults. It's better to add the parameters where wp_tag_cloud is actually called.
for example:
wp_tag_cloud('smallest=8&largest=22');
in wp-includes/widgets.php

指出来函数的调用方法。

但有篇文章给出了主题内过滤器的实现,增加在主题的functions.php中即可。

function custom_tag_cloud_widget($args) {
	$args['largest'] = 18; //largest tag
	$args['smallest'] = 10; //smallest tag
	$args['unit'] = 'px'; //tag font unit
	return $args;
}
add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );

实测可用,这样就不用改wordpress的系统设置了。如果要修改字体的大小,只要把 wp_tag_cloud(); 修改为wp_tag_cloud(‘unit=px&smallest=8&largest=20′); 即可,其中:

unit=px是字体大小的单位,使用我们熟悉的px最好;
smallest=8是指最小字体大小,自己修改;
largest=20是指最大字体大小,自己修改。

还可以使用number=45来设置标签的显示数量,orderby=count来使得标签云按照标签的使用次数来排列等等。。。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/465.html

发表评论

您的电子邮箱地址不会被公开。