カテゴリ一覧リンクのaタグからtitleを消す

カスタム

wpphp_catelink_deltitle

WordPressのテンプレートタグには、カテゴリ一覧リンクを表示してくれる
wp_list_categories というタグが存在します。
フッターやサイドバーに表示したり、使う機会の多いタグだと思います。

このタグはリストで括られたaタグHTMLを自動生成してくれて便利なのですが、
aタグに余計なコードを入れてくれます。

<li class="cat-item cat-item-7">
	<a href="https://site-manage.net/archives/category/wp-custom/" title="WordPressのカスタマイズに含まれる投稿をすべて表示">WordPressのカスタマイズ</a> (17)
</li>

このようにaタグにtitleが入っています。

title="WordPressのカスタマイズに含まれる投稿をすべて表示"

普通のブログとして使う際には特に気にしない要素ですが、SEO面を考えると
あまりよろしくないコードです。。

今回は、出力したカテゴリ一覧リンクからaタグのtitleのみ除くカスタマイズ方法を
紹介します。

今使っているテーマ内に functions.php を用意する

既にある場合はそちらにコードを書いていきます。
無い場合は、同名のPHPファイルをテーマ内に作成します。

テンプレートのカテゴリ一覧リンクからaタグのtitleだけを消す

// カテゴリ一覧リンクからaタグtitleを削除
//
function del_category_list_a_title($output)
{
	$output = preg_replace('/ title="[^"]*"/', '', $output);
	return $output;
}

add_filter( 'wp_list_categories', 'del_category_list_a_title' );

wp_list_categories がソースを出力する前に、
正規表現で「 title="***"」を削除させています。

これでカテゴリ一覧リンクのソースからtitleが消えました。

<li class="cat-item cat-item-7">
	<a href="https://site-manage.net/archives/category/wp-custom/">WordPressのカスタマイズ</a> (17)
</li>

すっきりです。

カスタム

関連記事