大猫の意淫网志

如何在wordpress the_category() 函数生成的分类列表里移除指定分类名链接

Thursday, November 19th, 2009

hack the_category()身为 WordPress 中文团队不活跃团员之一,俺觉得是时候做点啥了

比如出个 hack 介绍如何从
the_category() 函数生成的分类列表里移除指定的几个分类名的链接

做过模板的小盆友都知道,一篇文章可对应多个分类,在循环

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

里,可以用

< ?php the_category( $separator, $parents ); ?>

the_category('*') 输出当前文章的分类,并用菊花符 * 来分隔,比如

分类: < ?php the_category('*'); ?>

会输出

分类:wordpress*hack*category

在内部 Blog 搞皮肤的时候接到一条规则,要求有个分类叫重点的,然后又不要显示出来,仅仅用来作为 query_posts() (非常牛逼的函数,内容太多,有机会另起文章介绍强大的筛选功能) 获取文章的一个筛选条件

辣么,就需要 hack 一下 the_category() 了

很幸运 WordPress 提供了一个 ooxx 函数叫

< ?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>

根据 Smashing Theme 的一篇文章,把如下代码丢到 functions.php 最底部的 ?> 内即可实现

function the_category_filter($thelist,$separator=' ') {
	if(!defined('WP_ADMIN')) {
		//要移除的分类ID,这里是1和5
		$exclude = array(1,5);
		$exclude2 = array();
		foreach($exclude as $c) {
			$exclude2[] = get_cat_name($c);
		}
		$cats = explode($separator,$thelist);
		$newlist = array();
		foreach($cats as $cat) {
			$catname = trim(strip_tags($cat));
			if(!in_array($catname,$exclude2))
				$newlist[] = $cat;
		}
		return implode($separator,$newlist);
	} else {
		return $thelist;
	}
}
add_filter('the_category','the_category_filter', 10, 2);

解题思路就是先获取当前文章对应的分类 ID 数组,explode() 打散,和自定义的那个ID进行对比,如果有就移除,返回过滤后再 implode() 合并后的列表给 the_category() 输出到模板对应的前台页面

win7主题-超萌Win7娘窓辺ななみNanami

Saturday, October 31st, 2009

win7-nanami-theme

一句亲切的: "抠你菊花,奶奶咪 です"

好萌好萌好萌~

同学们赶紧来下超萌Win7娘窓辺ななみNanami主题 for win7

附送 超萌Win7娘窓辺ななみNanami主题 for XP

中文环境下双击里面的themepack文件是木有反应滴,辣么跟大猫老湿学如何搞nanami

首先第一步:
窓辺ななみ翻译成中文叫"床边的奶奶咪",日语里奶奶就是数字7的发音,当然那个咪不是咪咪的咪了... ...
奶奶咪是著名相声演员声优(不是女优)水樹奈奈的日语名字发音稍微变形下啦,你们这帮YD的小盆友都在想些什么

然后是第二步:
win7-nanami-theme
打开[控制面板]
打开[区域与语言设置]

应该会有上面的对话框弹出
选择第四个标签[管理员 Administrator]
选择[更改系统位置 Change system locale...]

又是一个弹出框
从下拉里把当前位置选择为 Japanese(Japan)

会提示重启
重启后双击那个下载包里的themepack就可以听到
一句亲切的: "抠你菊花,奶奶咪 です"

第三步
当然是改回China... ...

如何让主题支持WordPress 2.5的Gravatars

Sunday, March 30th, 2008

Dashboard->Setting->Discussion->Avatars
后台->设置->讨论->头像(没用过中文版,凑合看)

Avatar 开关

Don’t show Avatars

Show Avatars
Maximum Rating

G — 不黄不暴力

PG — 知道什么是第一性征的青少年

R — 知道什么是第二性征的小青年

X — 知道怎么生孩子的成年生物

Oh ,Matt Matt Matt,WP25 is pretty damn cool~

拆了Default theme后抠出来一句

<?php if(function_exists("get_avatar")) echo get_avatar( $comment, 32 ); ?>

把这句话插入到comments.php里的<?php comment_author_link() ?>附近

然后修改Style.css,增加

.avatar {
border: 1px dashed #d3d3d3;
padding: 2px;
float: right;
margin-top: 3px;
}

即可得到大猫blog评论里的Avatars效果~
源生支持,不用任何插件~

或者,你想更多的设置,延伸阅读Gravatars and WordPress 2.5

又或者,你想设置自己的头像请点我访问gravatar.com