ワードプレスのwp_get_recent_posts関数の使用方法・解説

概要

wp_get_recent_posts関数は、WordPressで最新の投稿情報を取得するために使用されます。この関数は、サイトの最新の記事を表示する際に非常に便利で、以下のような機能を実装する際に利用されることがよくあります。

  1. ホームページやサイドバーに最新投稿を表示する
  2. ニュースやブログのフィードを作成する
  3. 最近の投稿に関するウィジェットを作成する
  4. 他のページから最新の投稿情報を取得する
  5. カスタム投稿タイプの最新情報を表示する
  6. フッターに最近の投稿を表示する
  7. 投稿一覧のカスタムテンプレートで使用する
  8. カスタムテーマやプラグインでの投稿の表示に利用する

構文

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>';
}

この関数について質問する


上の計算式の答えを入力してください