WordPress在输出category使用了rel="category tag"的属性,这个属性使得主题无法通过w3c markup验证,不过HTML5本来就处于试验阶段,孰是孰非难以定论,但如果通过w3c验证是必须,就得去掉这个属性。

这个属性由get_the_category_list()函数产生,是WordPress核心的东西。

会导致w3c验证给出错误警告

Bad value category tag for attribute rel on element a: Keyword category is not registered.

解决的方法是在主题的functions.php中写上如下代码

add_filter( 'the_category', 'cp_fix_category_rel' );
 
function cp_fix_category_rel( $text) {
    $text = str_replace('rel="category tag"', '', $text);
    return $text;
}

用str_replace()替换即可。