get_posts()


WordPressのget_posts()関数は、条件に一致する投稿を取得するために使用されます。

シンタックス

get_posts( array $args = null )

引数の説明:

  • $args (array) — 投稿を取得するための条件を指定する連想配列。

引数の例:

  • 'numberposts' (int) — 取得する投稿数を指定します(デフォルト: 5)。
  • 'category' (int) — 取得するカテゴリーのIDを指定します。
  • 'orderby' (string) — 並べ替えの基準を指定します。例: 'date', 'title'
  • 'order' (string) — 並べ替え順を指定します。例: 'ASC'(昇順), 'DESC'(降順)。
  • 'post_type' (string) — 投稿の種類を指定します。例: 'post', 'page'

例1: 最新の投稿を取得する

<?php
$args = array(
    'numberposts' => 3,
    'orderby' => 'date',
    'order' => 'DESC'
);
$latest_posts = get_posts( $args );

foreach ( $latest_posts as $post ) {
    setup_postdata( $post );
    echo get_the_title( $post );
}
wp_reset_postdata();
?>

例2: 特定のカテゴリーの投稿を取得する

<?php
$args = array(
    'numberposts' => 5,
    'category' => get_cat_ID( 'ニュース' ),
);
$news_posts = get_posts( $args );

foreach ( $news_posts as $post ) {
    setup_postdata( $post );
    echo get_the_title( $post );
}
wp_reset_postdata();
?>

例3: カスタム投稿タイプを取得する

<?php
$args = array(
    'numberposts' => 4,
    'post_type' => 'product',
);
$custom_posts = get_posts( $args );

foreach ( $custom_posts as $post ) {
    setup_postdata( $post );
    echo get_the_title( $post );
}
wp_reset_postdata();
?>

例4: 投稿をタイトル順に並べて取得する

<?php
$args = array(
    'numberposts' => 5,
    'orderby' => 'title',
    'order' => 'ASC',
);
$title_sorted_posts = get_posts( $args );

foreach ( $title_sorted_posts as $post ) {
    setup_postdata( $post );
    echo get_the_title( $post );
}
wp_reset_postdata();
?>

例5: IDリストで特定の投稿を取得する

<?php
$args = array(
    'include' => array( get_the_ID(), 45, 67 )
);
$specified_posts = get_posts( $args );

foreach ( $specified_posts as $post ) {
    setup_postdata( $post );
    echo get_the_title( $post );
}
wp_reset_postdata();
?>

注意事項:

  • 関数get_posts()は、投稿を取得するだけで出力はしません。投稿データをループ内で手動で表示する必要があります。
  • メモリ使用量を抑えるためにwp_reset_postdata()を忘れずに使用してください。

関連機能: