WordPress创建标签列表页
至今我都没有完全理解什么是SEO,据说为博客创建一个单独的标签列表页,是有利于SEO的,不知道有没有这么一回事。我热衷于技术,还是喜欢折腾代码,先不管对SEO有没有利,我还是教大家如何在WordPress博客中实现这个功能吧。
实现方法:
1、在当前主题目录下新建一个php文件,命名为tag-cloud.php,然后将page.php中的所有代码复制到tag-cloud.php中
2、用文本编辑器打开tag-cloud.php,删除开头的所有注释(如果有的话),即 /* 与 */ ,以及它们之间的所有内容
3、将第一个 <?php 改成
1 2 3 4 | <?php /* Template Name: Tags Cloud */ |
4、将 the_content(); 改成 wp_tag_cloud();
5、进入WordPress管理后台 – 页面 – 创建页面,标题为标签云(可以自己起名),内容不要填,右侧可以选择模板,选择 Tags Cloud 即可
6、标签页创建成功,欢迎欣赏我的标签页
现成模板:
如果你觉得这样的标签页不太好看,或者你想要简单点的标签样式,你可以下载以下模板,用文本编辑器打开,按要求修改一下代码,然后放到当前主题目录下,接着按照以上第 5 步操作即可:
模板下载:tag-cloud.php
网址示例:http://fanli.ludou.org/tags
另一种效果:
如果你想整一个更加炫目的效果,如下图这样的:

可以用以上写好代码的tag-cloud.php,将wp_tag_cloud();改成:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /** * 名称: WordPress创建标签列表页 * 作者:露兜 * 博客:http://www.ludou.org/ * 最后修改:2010年08月20日 */ $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; |
代码说明:
- 以上代码最多输出50个标签,如果你想控制标签数量,请将以上代码第9行的50修改成你需要的数字
- 以上代码控制标签按标签所含的文章数从多到少排序,如果你想按名称方式排序,请将以上代码第9行的 count 改成 name
- 以上代码将会显示包含文章数为0的标签,如果你不想显示空标签,请将以上代码第9行的 false 改成 true
然后在主题目录下的style.css中添加css样式(以下代码仅供参考):
1 2 3 4 5 6 7 | ul.post_tags li { display:block; width:23%; list-style:none; background:none; float:left; } |
本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress创建标签列表页
本文地址:http://www.ludou.org/wordpress-create-tags-page.html
呵呵,照你说的改了,不错,成功创建!多谢多谢!
不是很赞同 单独的标签列表页 有理由SEO, 搜索引擎能自动索引标签页。
谢谢博主的分享,我马上尝试下~
挺懂的啊。。比我的强多了。我的都是一样大的。。不爽也。
使用 wp_tag_cloud(); 函数输出的标签大小都是不一样的,除非这些标签下面的文章数都是一样的。
你回复了我的评论,就会有邮件 发给我
你这个是用什么插件的
WordPress Thread Comment 带的一个功能。
标签列表页,还没有考虑新建,看看,那天是否需要新建一个。。
成功了,多谢LZ分享。
另一种效果没搞明白
彩色标签列表只有一列,怎么弄成几列的呢?我不懂代码!!谢谢
文章末尾已经提供了css代码!
不会怎么改!!!能帮改一下不
会用Windows的记事本吧?你用记事本打开文章说到的php或style.css文件,按说明改就是了!
如果你连到记事本都不会用,连新建文件都不会,你可以从以下网址获取我的Email,把你的WordPress主题文件夹压缩发给我:
http://www.ludou.org/contact
如果你连你的主题文件夹都不知道是哪个,我也没法帮你了。
可以了,之前试了很多次都是只有一列。刚才出现几列的。谢谢你了!!!
知道怎么让标签随机显示吗?每次都是那些永远不变不太好阿~~
WordPress内置函数不提供此类功能!
真可惜。。找了好几天
标签就那么几个,全部都显示出来了,位置随不随机貌似没那么要紧!相信这些标签列表也不会有太多人去点!
是没人去点,我标签很多。谢谢 呵呵
那你直接去数据库中随机取得了,既然你们是网络公司,相信不缺这方面的能人!
请问第二种方式,如何控制显示“标签”的数量呢?比如最多显示400个
文章内容已修改,请查阅。
好的,谢谢。
确实是个好方法,已经修改好了,感谢。
成功了,但是我还想这个页面的样式还是用网站已有的样式,改怎么弄?
第一种方法不提供css样式,也不影响你的css样式,你可以自行定义标签云得样式。
我用的模板里面没有the_content();
搞定了,多谢!
再请教下,如何自定义样式?
本人技术盲。
一两句话没法说清楚。不懂css,建议就别整了。
不错,学习了!第3步让我纠结了下,我用的模板里木有那些注释,我直接把头部调用的修改了下,2了下,哈哈!
有个问题,求教下,按照第一方法做出来的页面显示的标签是热门标签和自带的标签云一样。如果要显示所有使用过的标签如何处理啊?
WordPress没有判断(标签是否使用过)的机制。你可以用下面的代码代替,将按该标签下的文章数从多到少排序:
wp_tag_cloud('number=0&orderby=count&order=DESC');
方法二可以剔除文章数为零的标签,将第9行的:
'hide_empty' => false
改成:
'hide_empty' => true
添加标签利于SEO的说法是不正确的,标签的目的是用户体验,SEO有效性只是增加了搜索引擎入口