本文へ移動

PARAMETER REFERENCE

返り値・キャッシュ・取得最適化

必要な返り値だけを取得し、件数計算やcache更新の要否を判断します。

このページで確認できること

迷っている条件に近い項目から確認し、必要な値と注意点へ進んでください。

  • IDだけ取得して後続処理を軽くしたい
  • ページ総数が不要な一覧を軽くしたい
  • metaやterm cache更新を省いてよいか判断したい

値・選択肢・前提

パラメーター名だけでなく、何を決める値か、どの選択肢が使えるかを同時に確認します。

パラメーター役割主な選択肢・注意
fields返り値の形を限定

default(full WP_Post) / ids / id=>parentidsでは通常のthe_title()などを使うLoopには向きません。後続処理が求める形から選びます。

no_found_rows総件数計算を省く

true / false / default「次のページがあるか」「全何件か」が必要ならfalse/defaultを検討します。単発一覧ならtrueが候補です。

cache_resultspost cacheへの格納

true / false / default永続object cacheの有無や同じrequest内の再利用を含め、単純にfalseが速いとは限りません。

ignore_sticky_postssticky postの先頭移動を無視

true / false / defaultpost__inで指定した一覧や独自ランキングはtrueにして、想定外の先頭追加を防ぐ候補です。stickyを除外するparameterではありません。

update_post_meta_cachepost metaを先読み

true / false / default一覧内でmetaを読むならtrue/default、読まないならfalseが候補です。

update_post_term_cachetermを先読み

true / false / defaultcategory/tagを表示する一覧でfalseにすると、後続の個別取得が増える可能性があります。

lazy_load_term_metaterm metaのlazy load

true / false / defaultterm metaを使わない一覧ではfalseが候補です。term cacheの使い方と合わせて見ます。

update_menu_item_cachemenu item関連cacheを更新

true / false / defaultWordPress 6.1以降。通常の記事一覧では未設定でよく、menu itemを扱う時だけ意図して選びます。

組み合わせる前に確認すること

実装で起きやすい衝突を、条件を増やす前に確認します。

page数が必要なのにno_found_rows=trueにしない

max_num_pagesや全件数を使うpaginationでは、countを省くと必要な情報を得られません。

cache項目を一括で切らない

一覧でmetaやtermを読むなら先読みを切ることでquery回数が増える場合があります。renderまで含めて測ります。

返り値から逆算する

ID配列だけ、通常Loop、親ID付き一覧のどれが必要かを先に決めると、fieldsとcacheの判断がぶれません。

最小構成の実装例

そのまま貼るのではなく、対象post typeとtemplateの使い方に合わせて調整してください。

PHP取得最適化
$args = [    'post_type'              => 'post',    'posts_per_page'         => 6,    'no_found_rows'          => true,    'ignore_sticky_posts'    => true,    'update_post_meta_cache' => false,    'update_post_term_cache' => false,];

仕様の最終確認対象WordPress versionのcode referenceも確認してください。WordPress Developer Resources

ほかの分類を見る

条件を組み合わせるときは、隣り合う分類の値や前提もあわせて確認すると設定漏れを防げます。

次に確認すること

「取得最適化」の値と注意点を確認できたら、ほかの分類との関係を見直し、実装例かBuilderで実際のクエリに落とし込んでみてください。

このページを活用する

あとで見返す・共有する

お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。

任意のご支援 役に立ったときだけ、活動を応援できます OFUSEはサイト・記事制作に使います。支援の有無で、読める内容や使える機能は変わりません。