概要
wp_get_recent_posts
関数は、WordPressで最新の投稿情報を取得するために使用されます。この関数は、サイトの最新の記事を表示する際に非常に便利で、以下のような機能を実装する際に利用されることがよくあります。
- ホームページやサイドバーに最新投稿を表示する
- ニュースやブログのフィードを作成する
- 最近の投稿に関するウィジェットを作成する
- 他のページから最新の投稿情報を取得する
- カスタム投稿タイプの最新情報を表示する
- フッターに最近の投稿を表示する
- 投稿一覧のカスタムテンプレートで使用する
- カスタムテーマやプラグインでの投稿の表示に利用する
構文
wp_get_recent_posts( $args = array(), $output = ARRAY_A );
パラメータ
-
$args
(配列): 最新の投稿を取得するためのオプション。以下のようなキーを持つことができます。number
: 取得する投稿の数 (デフォルトは5)post_type
: 投稿タイプ (例: ‘post’, ‘page’, ‘custom_post_type’)post_status
: 投稿のステータス (例: ‘publish’, ‘draft’)
-
$output
(文字列): 戻り値の形式を指定します。デフォルトはARRAY_A
で、配列で返すことを意味します。OBJECT
を指定すると、オブジェクトとして返されます。
戻り値
この関数は、指定された条件に一致する投稿の情報を含む配列またはオブジェクトを返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 2.8.0以降で使用可能です。
コアファイルのパス
wp-includes/post.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | 〇 |
after_setup_theme | 〇 |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル 1: 最新の投稿を5件取得して表示
このサンプルコードでは、最新の投稿5件を取得し、各投稿タイトルをリスト形式で表示します。
$recent_posts = wp_get_recent_posts(array('number' => 5));
foreach ($recent_posts as $post) {
echo '<li>' . esc_html($post['post_title']) . '</li>';
}
サンプル 2: 特定の投稿タイプの最新投稿を取得
ここでは、投稿タイプが’page’の最新の3件を取得し、タイトルを表示します。
$recent_pages = wp_get_recent_posts(array('number' => 3, 'post_type' => 'page'));
foreach ($recent_pages as $page) {
echo '<h2>' . esc_html($page['post_title']) . '</h2>';
}
サンプル 3: 最新の投稿をオブジェクト形式で取得
最新の投稿をオブジェクト形式で取得し、タイトルを表示します。
$recent_posts = wp_get_recent_posts(array('number' => 5), OBJECT);
foreach ($recent_posts as $post) {
echo '<div>' . esc_html($post->post_title) . '</div>';
}
サンプル 4: 投稿のステータスを’publish’に限定
公開状態の最新投稿を取得し、タイトルを表示します。
$recent_posts = wp_get_recent_posts(array('number' => 5, 'post_status' => 'publish'));
foreach ($recent_posts as $post) {
echo '<p>' . esc_html($post['post_title']) . '</p>';
}
サンプル 5: カスタム投稿タイプの最新投稿を取得
カスタム投稿タイプ’custom_post’の最新投稿を取得するサンプルです。
$recent_custom_posts = wp_get_recent_posts(array('number' => 5, 'post_type' => 'custom_post'));
foreach ($recent_custom_posts as $custom_post) {
echo '<article>' . esc_html($custom_post['post_title']) . '</article>';
}