acf_get_grouped_users()


関数WordPressacf_get_grouped_users()は、ユーザーリストをグループ化して取得するための便利な機能です。この関数を使用することで、ロールやカスタムフィールドの値に基づいてユーザーを分類することができます。

構文

acf_get_grouped_users();

例1: すべてのユーザーをロールごとにグループ化

この例では、すべてのユーザーをロール別にグループ化して取得します。

<?php
$grouped_users = acf_get_grouped_users();
foreach ( $grouped_users as $role => $users ) {
    echo "<h3>{$role}</h3>";
    foreach ( $users as $user ) {
        echo "<p>{$user->display_name}</p>";
    }
}
?>

例2: 特定のロールのユーザーをフィルタリング

特定のロール(例: ‘editor’)のみを取得します。

<?php
$grouped_users = acf_get_grouped_users();
$editors = $grouped_users['editor'] ?? [];
foreach ( $editors as $user ) {
    echo "<p>{$user->display_name}</p>";
}
?>

例3: カスタムフィールドに基づくグループ化

カスタムフィールドの値に基づいてユーザーをグループ化する方法。

<?php
$grouped_users = acf_get_grouped_users();
foreach ( $grouped_users as $group => $users ) {
    echo "<h3>{$group}</h3>";
    foreach ( $users as $user ) {
        if ( get_field( 'custom_field_name', 'user_' . $user->ID ) === 'target_value' ) {
            echo "<p>{$user->display_name}</p>";
        }
    }
}
?>

例4: グループ化されたユーザーのIDリストを取得

ユーザーIDだけを取得する例。

<?php
$grouped_users = acf_get_grouped_users();
foreach ( $grouped_users as $role => $users ) {
    echo "<h3>{$role}</h3>";
    foreach ( $users as $user ) {
        echo "<p>{$user->ID}</p>";
    }
}
?>

例5: ユーザーごとのメールアドレスの表示

グループ化されたユーザーのメールアドレスを表示します。

<?php
$grouped_users = acf_get_grouped_users();
foreach ( $grouped_users as $role => $users ) {
    echo "<h3>{$role}</h3>";
    foreach ( $users as $user ) {
        echo "<p>{$user->user_email}</p>";
    }
}
?>