删除分类多余的class和移除title

作者:沙师弟时间:2013-10-31
wordpress总会生成很多多余的class和title,对于我这种代码有洁癖的人看来就很膈应,下面来讲讲删除wordpress分类多余的class和移除title的方法: 为了升级方便,我选择在functions.php过滤wp_list_categories()函数,原理就是利用正则将wp_list_categories()生成的class和title过滤,只要将以下代码添加到functions.php中:
//删除分类多余的class和移除title
function remove_cat_item($wp_list_categories) {
	$patterns = array(); $replacements = array();
	$patterns[0] = '/class=\"(cat-item cat-item-[0-9]+) current-cat-parent\"/';
	$replacements[0] = 'class="current-cat"';
	$patterns[1] = '/class=\"(cat-item cat-item-[0-9]+) current-cat\"/';
	$replacements[1] = 'class="current-cat"';
	$patterns[2] = '/ class=\"cat-item cat-item-[0-9]+\"/';
	$replacements[2] = '';
	$patterns[3] = '/ title=\"(.*?)\"/';
	$replacements[3] = '';
	$patterns[4] = '/>([\t\n\x0B\f\r])/';
	$replacements[4] = '>';
	$patterns[5] = '/([\t\n\x0B\f\r])</';
	$replacements[5] = '<';
	return preg_replace($patterns, $replacements, $wp_list_categories);
}
add_filter('wp_list_categories','remove_cat_item');
其实还有很多可以过滤的函数,如果你看不惯,只要会点正则就可以搞定。