wordpress WordPress W3C チェックで「Bad value category tag for ..」

2013年6月14日

HTML5 を使っていて、カテゴリーを出力している部分が、W3C の「Markup Validation Service」を通らない。

「Bad value category tag for attribute rel on element a: The string category is not a registered keyword or absolute URL.」と表示されるので、検索したところ、以下のサイトで解決策を見つけたのでメモ。

参考サイト:Make your WordPress category list valid by removing the “rel” attribute

「the_category」が出力する「<a rel=”category tag” ..>」の「”category”」の部分が問題のようで、「rel=”category tag”」を削除するように「add_filter」で対処している。以下を functons.php に記述する。上記のサイトでは「wp_list_categories」も対象にしているが、使用中のバージョンでは「wp_list_categories」は「rel」を出力していないようなのでその部分は削除。

function remove_category_list_rel( $output ) {
    // Remove rel attribute from the category list
    return str_replace( ' rel="category tag"', '', $output );
}
add_filter( 'the_category', 'remove_category_list_rel' );
//add_filter( 'wp_list_categories', 'remove_category_list_rel' );  使用中のバージョンではこの部分は不要