Sponser Link
2022年5月24日(米国時間)にWordPress 6.0がリリースされたそうです。
私の持っているサイトで自動更新にしているものに不具合が出ていました。
目次
不具合内容
カテゴリーを取得して、そのカテゴリーが親であれば、その子カテゴリー一覧を表示、
子カテゴリーならば、その親カテゴリーの子カテゴリー一覧を表示。
↓
全く関係のない子カテゴリーまで全ての子カテゴリーが表示されてしまう。
不具合の例
京都府(親カテゴリー)のページに京都府の市区町村一覧(子カテゴリー)を表示
↓
京都府(親カテゴリー)のページに全国の市区町村(子カテゴリー)全てが表示されてしまう
(京都府と札幌市に親子関係、親孫関係もないのに表示されてしまう)
原因
category.php
$cats = get_terms( 'category', array(
'hide_empty' => false,
'child_of' => $parentID
) );
‘child_of’ => $parentID で$parentIDに入っている親カテゴリーの子カテゴリー一覧を取得していました。
child_ofは子カテゴリーだけでなく孫カテゴリーも取得されるそうですが、
孫カテゴリーは作っていなかったので、問題ないと思い使っていましたが、
原因は‘child_of’ => $parentID でした。
解決
category.php
$cats = get_terms( 'category', array(
'hide_empty' => false,
'parent' => $parentID
) );
‘child_of’ => $parentID を ‘parent’ => $parentIDに書き換えたらOKでした。
‘parent’ は直下の子カテゴリーだけなので、
試しにやってみたら上手く行きました!
まとめ
2022年5月24日にWordpress6.0がリリースされ、child_ofが原因でした。
不具合が出ていたらこちらかもしれません。
Sponser Link