Query Monitor で Duplicate Queries が検出されて原因を探っていたが、なかなか見つからない。クエリ結果をキャッシュしても治らない珍現象。
で、よくわからんが、 WP_Query
のアーギュメントに 'ignore_sticky_posts' => true,
を追加したら治った。
コアのソースコード深く読み込んでないけど多分、ツリービュー表示の為にネストしてクエリを走らせてるのが何かしら関係してそう。他のところで使う WP_Query
ではこの現象は見られない。
Sticky ポストはコアの設計上何かしらやっかいなことになってるっぽい。カスタム投稿タイプでサポートされていないのも何かその辺りに理由がありそう。