WordPressバージョン4.4はwp_list_categoriesの除外カテゴリが除外されない


WordPressは機能強化のため頻繁にバージョンアップしています。
その度にどんどん便利に使いやすくなっていくのは嬉しいんですが、12月の4.4のバージョンアップで困ったことが起きました。

フッタのカテゴリ一覧で隠していた孫カテゴリが表示されるようになってしまったのです。

そもそも本サイトのフッタで使用しているカテゴリ一覧を表示するためのテンプレートタグはこれです。

WP Codex テンプレートタグ/wp_list_categories

フッタには孫カテゴリを表示したくなかったので“exclude”で除外設定していました。
で、バージョン4.3まではうまく機能していました。多分。
作った直後の画面をキャプチャしてないので確信はないけど非表示になってたはず。

てことで、たまたまローカル環境のWordPressはバージョン4.3のままだったので、カテゴリ「WordPress」の下に「孫カテ」という名の孫カテゴリを作成して除外してみました。
wp_list_categories1ちゃんと非表示になってます。
そのあとローカル環境もバージョン4.4に更新してみたところ、
wp_list_categories2孫が出ましたがな。😭

バージョンアップ後の問題なのでバグだと思いますが、取り急ぎ問題回避する方法はないもんかと探してみました。

早速、WPフォーラムにバグ報告があり、バグチケットが投稿されていました。

WordPress フォーラム/wp_list_categories()のパラメータexclude_treeで複数除外できない
  ※exclude_treeもexcludeも同じ現象が発生しています。

それからバグチケットってどんなことしてるのかとページを確認したところ、投稿から約5時間で問題が解決していました。ほえー。
バージョン4.4.1でバグの修正が行われるようです。

ただビジネスサイトの場合は修正待ちしているわけにもいかないと思います。
その場合は、カテゴリIDを配列にして渡すと表示自体は改善するようです。

設定の詳細は上記フォーラムページのほか、以下のサイトにも記載されています。

タカシノワークス/wp_list_categoriesのexclude引数が効かないときの解決方法

なお、本サイトのフッタの表示はあえてこのままにしておきます。孫カテゴリが消えたら4.4.1で修正されたんだなってことで。