先看一下效果
在百度经验找到一个教程,可惜,根据实践发现方法是错误的,
百度经验上的代码:
1
2
3
4
5
6
7
8
9
10
11
12
//标签tag所包含的文章数量
function
Tagno(``$text``) {
$text
= preg_replace_callback(``'|<a>|i'``,
'tagnoCallback'``,
$text``);
return
$text``;
}
function
tagnoCallback(``$matches``) {
$text``=``$matches``[1];
preg_match(``'|title=(.+?)style|i'``,``$text
,``$a``);
preg_match(``"/[0-9]/"``,``$a``[1],``$a``);
return
"<a "``.``$text
.``"["``.``$a``[0].``"]"``;
}
add_filter(``'wp_tag_cloud'``,
'Tagno'``, 1);
加到function.php后,文章数输出倒是能够输出,但页面会发生错误,通过查看源代码可以发现,它的标签都没有封闭,也就是缺少,所以标签云以下的某些部分会出错。
另外,它这个只能正常输出含个位数文章的数量,如果是十位以上,它只会输出文章数的第一位,比如“10篇文章”,它只会输出“[1]”。原因是正则表达式错误,/[0-9]/只会匹配数字一次,应使用/[0-9]+/来匹配所有的数字。
修改后的代码:
1
2
3
4
5
6
7
8
9
10
11
12
//标签tag所包含的文章数量
function
Tagno(``$text``) {
$text
= preg_replace_callback(``'|<a (.+?)</a>|i'``,
'tagnoCallback'``,
$text``);
return
$text``;
}
function
tagnoCallback(``$matches``) {
$text``=``$matches``[1];
preg_match(``'|title=(.+?)style|i'``,``$text
,``$a``);
preg_match(``"/[0-9]+/"``,``$a``[0],``$b``);
return
"<a "``.``$text
.``"<span>["``.``$b``[0].``"]</span></a>"``;
}
add_filter(``'wp_tag_cloud'``,
'Tagno'``, 1);
代码里将输出的数字加入到标签里,可以细调数字的格式。
本文转载自:http://idlelife.org/archives/404
手机扫一扫
移动阅读更方便
你可能感兴趣的文章