post_type取得する投稿タイプpost / page / any / custom slug(複数可)tax_queryを使うと未指定時の既定値がanyになる場合があります。意図した投稿タイプは明示する方が読み返しやすくなります。
PARAMETER REFERENCE
何を何件、どの順番で取るか。クエリの骨組みを先に決めます。
迷っている条件に近い項目から確認し、必要な値と注意点へ進んでください。
パラメーター名だけでなく、何を決める値か、どの選択肢が使えるかを同時に確認します。
post_type取得する投稿タイプpost / page / any / custom slug(複数可)tax_queryを使うと未指定時の既定値がanyになる場合があります。意図した投稿タイプは明示する方が読み返しやすくなります。
post_status公開状態で絞るpublish / pending / draft / future / private / inherit / any公開画面は通常publishです。attachmentではinheritが候補になり、privateやdraftは権限と表示場所を確認して使います。
sキーワード検索検索語。先頭にhyphenを付けた語は除外語として扱える空ならsearch_columnsも出力されません。relevance順を選ぶなら検索語が必要です。
search_columns検索対象列を限定post_title / post_excerpt / post_contentBuilderではs入力後に選べます。WordPress 6.2以降を対象にし、選びすぎて通常検索と同じ状態に戻さないようにします。
posts_per_page1ページの取得件数1以上、または全件取得の -1-1ではoffsetが無視されます。件数が増えるサイトで全件取得を常用しない方が安全です。
paged取得するページ番号1以上の整数。通常はget_query_var()から渡す固定フロントページではpageとの違いがあります。BuilderはWP_Queryへ渡すpagedを生成します。
offset先頭から指定件数を飛ばす0以上の整数pagedと併用すると通常のページ計算を崩します。先頭だけ除外したいページングは別の設計を検討します。
order昇順・降順ASC / DESC / defaultorderbyがpost__inなど指定配列順を保つ値の場合、orderを変えてもその並びは反転しません。
orderby並び替えの基準date / modified / title / menu_order / comment_count / rand / relevance / post__in / post_name__in / post_parent__in / meta_value / meta_value_num指定配列順には対応する__in、meta順にはkeyを持つmeta_query、relevanceにはsが必要です。数値を文字列順で並べないようmeta_value_numを使い分けます。
実装で起きやすい衝突を、条件を増やす前に確認します。
offsetは通常のページ番号計算を上書きし、2ページ目以降の重複や欠落につながります。
post__in順・slug順・parent順・meta順・relevance順は、それぞれ元になる指定がないと意味を持ちません。Builderは不足をerrorで止めます。
post_type、post_status、posts_per_pageだけで件数を見てから、検索や並び順を一つずつ足すと切り分けが速くなります。
そのまま貼るのではなく、対象post typeとtemplateの使い方に合わせて調整してください。
$args = [ 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 10, 'paged' => max( 1, get_query_var( 'paged' ) ), 'orderby' => 'date', 'order' => 'DESC',];仕様の最終確認対象WordPress versionのcode referenceも確認してください。WordPress Developer Resources
条件を組み合わせるときは、隣り合う分類の値や前提もあわせて確認すると設定漏れを防げます。
このページを活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。