wp_list_categoriesでclass属性とtitle属性の値を削除する方法

wp_list_categoriesを使ってカテゴリーのリストを出力する際、liタグで出力される。

liタグにはclass属性、aタグにはtitle属性が付加されて出力される。title属性には記事の概要が入るが、これによってがリストタグで並んで出力されると同じキーワードが並びがち。SEO的な面で、意図せずに同じキーワードを続けて記述する形になり、不利になる可能性がある。

HTMLのソース自体をシンプルにするため、このtitle属性とclass属性を削除したい。これを削除するには、ディレクトリ『wp-includes』に格納されている『classes.php』を編集すると良い。

1349行目付近、

$link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"';

1351行目付近、

$link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';

この2箇所を

$link .= '';

に書き換える。これによりaタグ内のtitle属性が削除される。

次に1398行目、

$output .=  ' class="'.$class.'"';

この行自体を削除、またはコメントアウトする。ここまでの修正ができたら、wp-includesディレクトリに、classes.phpをアップして上書きする。

classes.phpについては、編集前のファイルと編集後のファイルのバックアップを取ることをオススメする。

関連記事

サーバー別インストールガイド