很多WordPress模板并没有带tags.php, 而且页面无法用HTML注释语句的方法来实现标签云函数的调用, 所以, 这就需要大家自己来手动给模板创建一个tags.php. 方法其实很简单, 只要改一小部分代码即可。
第一步,选择一个你认为适合做tag页的模板文件,page.php也好,single.php也好,根据你的情况来,我选的是我主题里的page-nocomment.php。
第二步,在模板文件里加入或修改代码,第一段代码如下
<?php /* Template Name: Tags */ ?> <!-- 这段代码很重要, 它会告诉WordPress这是一个命名为Tags的模板文件 -->
这段代码加入到模板文件的最最开始的地方,如果已经有相同格式的代码,只要把Name改成Tags就可以了。
第二段代码
<?php st_tag_cloud('cloud_selection=count-desc&cloud_sort=random&number=5000s&largest=32&smallest=10&unit=pt &maxcolor=#CC3300&mincolor=#339966'); ?> <? php // st_tag_cloud(); ?> <?php // wp_tag_cloud('smallest=8&largest=22&unit=px&number=5000');?> <!-- 以上三行代码为显示标签云的函数,任选一行, 第一个是用Simple Tags插件的带参数的函数, 第二个是用Simple Tags的不带参数的函数, 如用第二个, 要修改字体大小, 颜色, 显示数量等效果可以在WordPress后台Simple Tags的Tag cloud选项里面设置, 第三个是WordPress自带的标签云函数, 如果你没有安装任何标签插件, 可以使用WordPress自 带的这个函数来实现标签云, 其中smallest=代表最小字体, largest=代表最大字体, unit=代表单位(可以选pt[磅]或px[像素], number=代表显示标签数量(也可以删除这些参数留空,使用默认参数). 这三个函数你可以选择任意一个使用, 之后用//屏蔽掉或删掉另外两个即可. -->
我是使用的第三个,也就是自带的那个标签云函数
<?php wp_tag_cloud();?>
把你选择好的代码插入到模板文件的相应位置,何为相应位置呢?也就是你文章正文的位置,我也是不懂PHP的 :P所以我也是试了好几次才找到正确位置的,我的位置如下,仅供参考
<div class="post clearfix" id="single_post"> <div class="post_content_wrapper"> <h2><span><?php the_title(); ?></span></h2> <div class="post_content"> <?php the_content(__('Read more', 'monochrome')); ?> <?php wp_link_pages(); ?> <?php wp_tag_cloud();?> <!-- 我的插入这里 --> </div> </div>
修改好以后, 保存, 并命名为tags.php上传到你WordPress当前使用的模板的目录(例如: WP安装根目录/wp-content/themes/当前主题/)
接着到你的WordPress后台, 在”管理”-“页面”中, 编辑或者创建你的标签页. 然后你会在编辑页面的右侧一排功能选项出看到多出一个”页面属性”的选项, 如下图:
然后把固定链接地址改好就可以了
完成!然后你刷新页面看看可不可以了。
PS:我的是可以显示了,但是格式还是不行,因为这是套用文章的模板,不知道是不是行高是固定了的原因还是什么,我的标签出现了重叠现象,因为标签字号大小是不一样的,所以,我又折腾了一下,增加了一个CSS样式(我的CSS也是不懂,瞎折腾的(*^__^*) ),操作如下:
1、把你的Tags模板的这一行代码改下:
<div class="post_content">
改成为:
<div class="post_content post_content_tags">
其实也就是增加了一个CSS样式,因为我查了下CSS的样式优先级别,后面的样式优先于前面的,但不等于完全替换掉前面,意思就是说,如果前面的定义了颜色和字号,后面的定义了颜色,那么实际的结果就是显示“后面的颜色+前面的字号”只是部分替换掉而已,明白了吗?
2、我们要在style.css里面增加一个样式
我这里只是调整了一下行高,大家自己定义、把握就好
/* ---------- 标签页面样式修改 ---------- */
.post_content_tags {line-height:300%; }
原来行高是100%的,我把它改成了300%
好了,所有工作到此为止。