指定した条件にマッチする記事オブジェクトの配列を取得します。
get_posts($args);| 引数 | 必須/任意 | 引数に指定するもの |
|---|---|---|
| 第1引数 $args | 任意 | 条件を配列で指定利用できる主なパラメーターは下記の通り。 numberposts 取得する記事の件数を数値で指定。省略時は5。p 取得する投稿のIDpage_id 取得する固定ページのIDpost_type 投稿タイプを文字列で指定(post,page,カスタム投稿タイプ名など、省略時:post)category 記事が所属するカテゴリーをIDで指定include 含める記事のIDを配列で指定exclude 除外する記事のIDを配列で指定order ASC/DESCを指定。ASCは昇順、DESCが降順。省略時はDESCorderby 取得する順番の基準を文字列で指定(日付:date、ランダム:rand など。省略時はdate)name 記事(投稿や固定ページ)の名前meta_query メタクエリの指定(カスタムフィールドを条件に取得)すべてのパラメーターは下記公式に記載があります。(英語) https://developer.wordpress.org/reference/classes/wp_query/parse_query/ 初期値: null |
戻り値(返す値):指定した条件にマッチする記事オブジェクトの配列
下記の例ではID10の投稿オブジェクトを取得しています。
<?php
$args = [
'post_type' => 'post', // デフォルトでpostのため省略可
'p' => 10,
];
$posts = get_posts($args);
?>
取得した内容を下記コードで画面に表示してみます。
<?php
echo '<pre>';
print_r($posts);
echo '</pre>';
?>
表示結果は以下のようになります。このように、取得した記事オブジェクトの配列を返します。例ではID10を指定しているので配列の中身はIDの記事オブジェクトが1件のみです。
Array
(
[0] => WP_Post Object
(
[ID] => 845
[post_author] => 1
[post_date] => 2026-01-13 09:10:49
[post_date_gmt] => 2026-01-13 00:10:49
[post_content] => 本文です
[post_title] => タイトルです
[post_excerpt] =>
[post_status] => publish
[comment_status] => open
[ping_status] => open
[post_password] =>
[post_name] => %e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%81%a7%e3%81%99
[to_ping] =>
[pinged] =>
[post_modified] => 2026-01-13 09:10:49
[post_modified_gmt] => 2026-01-13 00:10:49
[post_content_filtered] =>
[post_parent] => 0
[guid] => https://example.com/?p=845
[menu_order] => 0
[post_type] => post
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
)
下記の例ではカスタム投稿タイプbookの3件の投稿オブジェクトを取得しています。ただし、ID80の投稿は除外します。
<?php
$args = [
'post_type' => 'book',
'numberposts' => 3,
'exclude' => [80],
];
$posts = get_posts($args);
?>【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。
【引数について】
※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。