wordpress 不用插件,添加标签页

张映 发表于 2010-05-24

分类目录: wordpress

标签:

一,为什么要加个标签页

1,我不想用什么插件,本来虚拟主机就不快,还装那么多插件,影响速度

2,我把侧边栏中标签云去掉了,因为它会为每个页面,添加几十个链接,影响seo优化。去掉了,部分内容搜索引擎抓不到,所以还是要加上。这就是我添加标签页的原因

二,手动添加标签页

以前我写过一个篇手动添加留言板的文章http://blog.51yip.com/wordpress/769.html,思想差不多,我就在留言板的基本上做了。

1,考贝contact.php重命名为tag.php,如果没看到前面的那篇博客,看下面


<?php
/*
Template Name: Tags
*/

get_header(); ?>

<div id="content">

<div>
 <div style='margin:10px 30px 5px;height:30px;width:80px;padding-left:13px;padding-top:10px;font-size:20px;background:#6D94BB;'>
 <h1>标签页</h1>
 </div>
</div>

<div style="clear:both;"></div>

<div></div>
<div style='margin-left:30px;line-height:30px;word-spacing:5px;'>
 <?php  wp_tag_cloud("smallest=11&number=0&orderby=count&order=DESC&echo=false"); ?>
</div>

</div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

如果对CSS不熟的话参考:http://blog.51yip.com/manual/css/里面好多例子,最好用IE来看。

2,wp_tag_cloud部分参数说明

用eclipse开发工具自带的全局搜索功能,我找到了wp_tag_cloud,位于category-template.php中528行左右,你也可以ctrl+f来找一下,

$defaults = array(
 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
 'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
 );
$args = wp_parse_args( $args, $defaults );

 $tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'count', 'order' => 'DESC' ) ) ); // Always query top tags

我知道的说一下

1. smallest : 最小字号,默认为 8;
2. largest: 最大字号,默认为 22;
3. unit : 字体单位设置,默认是pt
4. number :标签云数量,默认45 个标签;
5,separator:标签分隔方式,默认\n;
6. orderby: 按什么排序,默认为 name  方式,也有count,从array( 'orderby' => 'count', 'order' => 'DESC' )看以看出;
7. order :排序方式 ,默认为  ASC  升序。这里一定要是大写,我汗

3,登录后台添加页面

添加个新页面,在选择模板时选择tags就行了,如下图

添加标签页

添加标签页

添加好后,你可以修改一下,标签页的url,因为你把页面命名为标签页时,系统会默认标题名为url的名子。

4,修改template-loader.php

你添加的新页面,放在表wp_postmeta里面,页面加载时要调用tag.php就是上面增加的那个文件.修改如下

	} else if ( is_tag() && $template = get_tag_template()) {
		if(preg_match("/newpage4/",$template)){
			include($template);
		}else{
			include(TEMPLATEPATH . "/index.php");
		}
		return;

这里为什么要加这个判断呢,因为如果不加这个判断的话,你点标签页里面的标签,以及点标签页都会跳会跳到同一个页面这就不对了。

这里的newpage4是我标签页的自定义的命字,请看http://blog.51yip.com/newpage4



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/wordpress/814.html

2 条评论

  1. sayablog 留言

    没有contact.php呢?

  2. 张映 留言

    这个是自己copy别的php文件改得,文中有说明