このサイトは WordPress を使っています。カテゴリを再編したら子カテゴリが増えてカテゴリリストがダラダラと長くなってしまいました。そして投稿ページからその投稿に関連するリンク以外を削除しようと思い、サイドバーのウィジェットで表示しているカテゴリ一覧から、その記事が属する親カテゴリとその子孫カテゴリのみ表示するようにカスタマイズしました。
目次
ウィジェットにて親カテゴリの子孫カテゴリのみ表示
ソースを見てみると、ウィジェットの中の widget_categories_args というフィルターフックにて表示する内容を変えられそうだったので利用しました。表示したいカテゴリの ID をカンマ区切りで渡せばいいようです。
→ WordPress.org : Code Reference : widget_categories_args
ウィジェットのタイトル前に親カテゴリ名を追加
このままでもいいのですが、ウィジェットのタイトルを「親カテゴリ名 + のカテゴリ」というように変更します。カテゴリという文言はウィジェットの設定にてタイトルに設定しています。ここでは widget_title というフィルターフックを使って、設定したタイトルの前にカテゴリ名を連結します。
→ WordPress.org : Code Reference : widget_title
改変前後での表示の違い
下のキャプチャが改変前です。表示しているページに関係のないカテゴリも表示されています。
下のキャプチャが改変後です。現在表示されているページの親カテゴリとその子孫カテゴリのみ表示してすっきりしています。



