# Függvények: ügyfelek lekérdezése

> Az rcp_get_customer_by_user_id(), rcp_get_customer_membership_level_ids(), rcp_get_customer_membership_level_names() és rcp_get_customers() függvények.

Egyedi kódhoz tartozó függvények, ezért a bevezetésükhöz érdemes fejlesztő segítségét kérni.

## rcp_get_customer_by_user_id()

Egy WordPress-felhasználó ügyfélrekordját adja vissza.

- `$user_id` (egész): a felhasználó azonosítója. A `0` a bejelentkezett felhasználót jelenti.

Visszatérési érték: `RCP_Customer` objektum, vagy `false`, ha nincs ilyen ügyfél.

```php
$customer = rcp_get_customer_by_user_id( get_current_user_id() );
```

## rcp_get_customer_membership_level_ids()

Lekéri az ügyfél `active` vagy `cancelled` állapotú tagságait, és visszaadja a hozzájuk tartozó tagsági szintek azonosítóit.

- `$customer_id` (egész): az ellenőrzött ügyfél azonosítója. Ha kimarad, a bejelentkezett ügyfelet használja.

Visszatérési érték: a tagsági szintek azonosítóinak tömbje.

Annak ellenőrzése, hogy az aktuális ügyfélnek van-e 2-es szintű tagsága:

```php
<?php if ( in_array( 2, rcp_get_customer_membership_level_ids() ) ) : ?>
	<p>Ez a rész csak a 2-es szintű tagoknak látszik.</p>
<?php endif; ?>
```

## rcp_get_customer_membership_level_names()

Ugyanúgy működik, mint az előző, de a szintek azonosítói helyett a nevüket adja vissza. Az ügyfél `active` vagy `cancelled` állapotú tagságait veszi figyelembe.

- `$customer_id` (egész): az ellenőrzött ügyfél azonosítója. Ha kimarad, a bejelentkezett ügyfelet használja.

Visszatérési érték: a tagsági szintek neveinek tömbje.

## rcp_get_customers()

Ügyfelek lekérdezése szűrőkkel. Az `$args` tömb minden eleme elhagyható.

| Kulcs | Jelentés |
|---|---|
| `id` | Csak ezt az azonosítójú ügyfelet adja vissza. |
| `id__in` | Ügyfélazonosítók tömbje. |
| `id__not_in` | Kihagyandó ügyfélazonosítók tömbje. |
| `user_id` | Felhasználóazonosító szerinti szűrés. |
| `user_id__in` | Felhasználóazonosítók tömbje. |
| `user_id__not_in` | Kihagyandó felhasználóazonosítók tömbje. |
| `email_verification` | E-mail-megerősítés állapota: `verified`, `pending` vagy `none`. |
| `date_registered_query` | A regisztráció ideje szerinti szűrés (`WP_Date_Query` formátum). |
| `last_login_query` | Az utolsó belépés ideje szerinti szűrés (`WP_Date_Query` formátum). |
| `count` | `true`: az ügyfelek számát adja, `false`: objektumok tömbjét. Alapérték: `false`. |
| `fields` | A visszaadott mező (bármelyik oszlopnév). Üresen teljes ügyfélobjektumokat ad. |
| `number` | Legfeljebb ennyi találat. Alapérték: `20`. |
| `offset` | Kihagyott találatok száma. Alapérték: `0`. |
| `no_found_rows` | Kikapcsolja a `SQL_CALC_FOUND_ROWS` lekérdezést. Alapérték: `true`. |
| `orderby` | Rendezés: `id`, `date_registered`, `last_login`. A `false`, az üres tömb vagy a `none` kikapcsolja a rendezést. Alapérték: `id`. |
| `order` | `ASC` vagy `DESC`. Alapérték: `DESC`. |
| `search` | Keresőszó, az ügyfél legtöbb oszlopában keres. |
| `update_cache` | Előtölti a gyorsítótárat a talált ügyfelekhez. Alapérték: `false`. |

Visszatérési érték: alapesetben `RCP_Customer` objektumok tömbje. `count` => `true` esetén egész szám, `fields` megadásakor (például `id`) az adott mező értékeinek tömbje.

Az 5, 73, 41 és 104 azonosítójú felhasználók ügyfelei:

```php
$customers = rcp_get_customers( array(
	'user_id__in' => array( 5, 73, 41, 104 ),
) );
```

Az e-mail-megerősítésre váró ügyfelek azonosítói:

```php
$customer_ids = rcp_get_customers( array(
	'email_verification' => 'pending',
	'fields'             => 'id',
) );
```
