acf_get_grouped_posts()


Advanced Custom Fields (ACF)プラグインで使用されるacf_get_grouped_posts()関数は、投稿をグループ化して取得するための関数です。この関数は、特定の条件に基づいて投稿を整理し、操作を簡素化します。

構文

acf_get_grouped_posts( array $args );

引数の説明:

  • $args (array) — 投稿をグループ化するための条件を指定する連想配列。

$argsの主なキー

  • post_type (string) — 投稿タイプを指定します (例: ‘post’, ‘page’, ‘custom_post_type’)。
  • posts_per_page (int) — 取得する投稿の最大数。
  • orderby (string) — 投稿を並べ替える基準 (例: ‘date’, ‘title’)。
  • order (string) — 昇順または降順 (‘ASC’ または ‘DESC’)。

使用例

例1: 投稿タイプごとにグループ化された投稿を取得

<?php
$args = array(
    'post_type' => array( 'post', 'page' ),
    'posts_per_page' => -1,
);
$grouped_posts = acf_get_grouped_posts( $args );
?>

例2: 特定の投稿タイプをグループ化して取得

<?php
$args = array(
    'post_type' => 'custom_post_type',
    'posts_per_page' => 10,
);
$grouped_posts = acf_get_grouped_posts( $args );
?>

例3: 並び順を日付の降順に設定

<?php
$args = array(
    'post_type' => 'post',
    'orderby' => 'date',
    'order' => 'DESC',
);
$grouped_posts = acf_get_grouped_posts( $args );
?>

例4: タイトルの昇順でページを取得

<?php
$args = array(
    'post_type' => 'page',
    'orderby' => 'title',
    'order' => 'ASC',
);
$grouped_posts = acf_get_grouped_posts( $args );
?>

例5: すべての投稿をグループ化

<?php
$args = array(
    'post_type' => 'any',
    'posts_per_page' => -1,
);
$grouped_posts = acf_get_grouped_posts( $args );
?>

注意事項

  • $argsが正確に指定されていない場合、期待通りの結果が得られない可能性があります。