WordPress の投稿を取得する
WordPress の投稿を取得する
WordPress から投稿を取得します。取得されるのは公開済みの投稿のみです。下書き等、公開されていない投稿は取得されません。
アクションの結果は投稿の配列になります。結果が1件でも要素が1つの配列になります。結果が0件の場合は空の配列になります。結果はレコードともみなすことが可能で、レコードを受け取る他のアクションのパラメーターにセットすることもできます。
取得した投稿の件数を調べたい場合は、count
関数を使用します。例えばアクション1番で投稿を取得した場合、以下の式で取得した投稿の件数を得ることができます。
= count($1)
WordPress 接続設定を指定します。
標準の投稿ではなく、カスタム投稿タイプの投稿を取得したい場合に指定します。
省略時は標準の投稿を取得します。
標準の投稿タイプとカスタム投稿タイプを同時に取得したり、複数のカスタム投稿タイプを同時に取得することはできません。
指定すると、カテゴリーで絞り込みます。名前ではなくIDの数値で指定します。
このカテゴリーは標準投稿タイプのカテゴリーであって、カスタムタクソノミーではありません。「カスタム投稿タイプ」パラメーターを指定している場合、「カテゴリーID」を指定してもカスタムタクソノミーで作ったカテゴリーで絞り込めるわけではないので、ご注意ください。
省略時は、カテゴリーでの絞り込みを行いません。
投稿のスラッグで絞り込みたい場合に指定します。
省略時は、スラッグでの絞り込みを行いません。
投稿の公開日時が指定日時以降のもので絞り込みます。
日時は以下の形式で入力できます。
2025-05-06T04:30:00Z
のような形式です。2025-05-06 04:30:00
のように時差情報を含めない形式です。この場合、時刻は「タイムゾーンをセットする」でセットしたタイムゾーンで解釈されます。2025-05-06
のように時刻を含まない形式です。この場合、時刻は「タイムゾーンをセットする」でセットしたタイムゾーンにおける 00:00:00 と解釈されます。07:30
のように日付を含まない形式です。この場合、ダミーで日付が 1970-01-01
であるとみなされます。タイムゾーンは「タイムゾーンをセットする」でセットしたタイムゾーンになります。「~以前」の検索はできません。
省略時は公開日時で絞り込みません。
取得件数の上限を指定します。
指定できる値の上限は 100 です。
省略時は 10 件です。
例えばこのパラメーターを 30 にすると、最初の 30 件は取得せず、31 番目の投稿から取得します。
この数字は「最大取得件数」で割り切れる必要があります。例えば「最大取得件数」が 20 ならば、「取得をスキップする投稿数」は 20, 40, 60, ... 等である必要があります。「最大取得件数」省略時は、「最大取得件数」は 10 とみなされるので、「取得をスキップする投稿数」は 10, 20, 30, ... 等でなければなりません。
省略時は 0 です。
取得した投稿のキャッシュが無効になる日時を指定します。指定されている場合、キャッシュがあればキャッシュから投稿を返します。キャッシュがなければ WordPress からレコードを取得し、指定の日時を期限としてキャッシュします。
このパラメーターを空にした場合、キャッシュは行われません。つまり、キャッシュの有無にかかわらず WordPress から投稿を取得し、取得した投稿はキャッシュしません。
日時は以下の形式で入力できます。
2025-05-06T04:30:00Z
のような形式です。2025-05-06 04:30:00
のように時差情報を含めない形式です。この場合、時刻は「タイムゾーンをセットする」でセットしたタイムゾーンで解釈されます。2025-05-06
のように時刻を含まない形式です。この場合、時刻は「タイムゾーンをセットする」でセットしたタイムゾーンにおける 00:00:00 と解釈されます。07:30
のように日付を含まない形式です。この場合、ダミーで日付が 1970-01-01
であるとみなされます。タイムゾーンは「タイムゾーンをセットする」でセットしたタイムゾーンになります。キャッシュを期間で指定したい場合、アクションを使う方法と関数を使う方法があります。例えばキャッシュの有効期間を最大1週間にしたい場合は、以下のいずれかの方法を使用できます。
= $1
のように式で参照する。fromnow
関数を使用して = fromnow(1, "weeks")
と記述する。投稿の配列です。投稿データの構造は WordPress 公式のドキュメント を参照してください。
以下の例では、投稿配列の最初の投稿からタイトルを取得する式を示しています。
= $1[0].title.rendered