まず結論
update_menu_item_cache は、取得結果にナビゲーションメニュー項目が含まれる時、関連オブジェクトのキャッシュを先に用意する引数です。WordPress 6.1 で追加されました。
一般的な投稿一覧の高速化スイッチではありません。メニュー項目を取得するクエリかどうかが判断の入口です。
どういう時に使うか
nav_menu_item を取得し、そのリンク先オブジェクトや関連タームを後続処理で読む場面に向く引数です。
既定値は false です。通常投稿だけを取得するクエリで有効化しても、狙った改善にはつながりません。
WordPress 6.1 未満をサポートするコードでは引数の導入時期を確認し、対応バージョンを明記します。
近い引数との違い
update_post_meta_cache と update_post_term_cache は取得した投稿のメタやターム情報を扱います。update_menu_item_cache はメニュー項目の参照先に必要なキャッシュをまとめて用意します。
名前が似ていても対象が限定的です。3つを一括で同じ値にする理由はありません。
Builderでの扱い
WP Query Builder では指定できますが、post_type=nav_menu_item など用途が見える時だけ候補として案内します。
WordPress 6.1以上という前提を出力コードの互換性表示にも反映します。
使いどころ・避けどころと実践確認
取得投稿がナビゲーションメニュー項目を含み、関連オブジェクトの先読み効果を計測する時に検討します。
通常投稿の一覧を速くする一般的な設定として、用途を確認せず切り替えません。
WordPress 6.1以降の引数であり、メニュー項目を実際に使わないクエリでは効果と必要性が異なります。
通常投稿の一覧ではなく、取得対象がメニュー項目の時にだけ効果を検討する限定的な引数です。
メニュー項目を読む処理と読まない処理で、対応バージョン、データベース問い合わせ回数、キャッシュ状態を指定前後に比較します。
WordPressの仕様で確認するポイント
公式の WP_Query::parse_query() 変更履歴で6.1追加を確認できます。
WP_Query の実装では、取得結果があり、この値が有効な時に update_menu_item_cache() が呼ばれる流れを確認できます。
公式リンク
公式ドキュメント
最後は、値を変える目的と、変えた時に失う情報を一緒に確認します。
最後に確認したいこと
- メニュー項目を取得するクエリか確認した
- 既定値falseを理由なく変えていない
- WordPress 6.1以上を前提にした
- 他のcache引数と対象を分けた
公式リファレンス
仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年5月26日 glossary 用の初回ドラフトを作成
- 2026年8月15日 公式資料を再確認し、用語集として本文と判断材料を再構成
この用語を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。
他の用語も続けて確認できます
似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。