Függvények: ügyfél és tagság létrehozása
Az rcp_add_customer(), rcp_add_membership(), rcp_add_user_to_subscription(), rcp_add_member_note() és rcp_get_customer() függvények paraméterei és példái.
Ezek a függvények ügyfelet és tagságot hoznak létre vagy kérnek le kódból. Egyedi kód, ezért a bevezetéséhez érdemes fejlesztő segítségét kérni.
rcp_add_customer()
Szekció neve “rcp_add_customer()”Új RCP ügyfélrekordot hoz létre. Megadhatsz egy meglévő WordPress-felhasználói azonosítót (user_id), vagy user_args tömböt, ebből a bővítmény a wp_insert_user() függvénnyel létrehozza a felhasználót is. false az eredmény, ha hiányzik egy kötelező felhasználói mező, a felhasználó létrehozása nem sikerül, vagy az adott felhasználóhoz már van ügyfél.
A $data tömb elemei (mind elhagyható, hacsak nincs másképp jelölve):
| Kulcs | Típus | Jelentés |
|---|---|---|
user_id |
egész | A WordPress-felhasználó azonosítója. |
user_args |
tömb | A wp_insert_user() argumentumai új fiókhoz. Ha nincs user_id, kötelező: user_login, user_email, user_pass. |
date_registered |
szöveg | MySQL-dátum és idő. Alapérték: a jelenlegi idő. |
email_verification |
szöveg | none, pending vagy verified. Érvénytelen értéket figyelmen kívül hagy. |
last_login |
szöveg | Az utolsó belépés ideje (MySQL-dátum). |
ips |
tömb | Ismert IP-címek (szerializálva tárolódnak). |
notes |
szöveg | Admin jegyzetek. |
has_trialed |
egész | Volt-e már próbaidőszaka. Alapérték: 0. |
Visszatérési érték: az új ügyfél azonosítója (egész), hiba esetén false.
Meglévő felhasználó összekötése:
$customer_id = rcp_add_customer( array( 'user_id' => 42,) );Felhasználó és ügyfél együtt:
$customer_id = rcp_add_customer( array( 'user_args' => array( 'user_login' => 'minta_tag', 'user_pass' => 'biztonsagos-jelszo', ),) );rcp_get_customer()
Szekció neve “rcp_get_customer()”Egy ügyfélrekordot kér le azonosító alapján. A $customer_id paraméter 0 értékével a bejelentkezett felhasználó ügyfele töltődik be. Siker esetén RCP_Customer objektumot ad, ha nincs ilyen ügyfél, false-t.
$customer = rcp_get_customer( 12 );rcp_add_membership()
Szekció neve “rcp_add_membership()”Új tagságrekordot ír az adatbázisba. A függvényhez Restrict Content Pro 3.0 vagy újabb kell. Egyedi regisztrációs folyamatokhoz, importhoz és admin automatizáláshoz való. Aktív tagságnál a létrehozás után érdemes meghívni az RCP_Membership::activate() metódust, hogy a szerepkörök és az üdvözlő e-mail is lefusson. Meglévő tagság módosításához az rcp_update_membership() függvényt vagy az RCP_Membership objektum metódusait használd.
A $data tömb kulcsai:
Kötelező
| Kulcs | Jelentés |
|---|---|
customer_id |
Az RCP_Customer azonosítója, akihez a tagság tartozik. |
Gyakori
| Kulcs | Jelentés |
|---|---|
object_id |
A tagsági szint azonosítója. Érvényes szintnek kell lennie, különben a létrehozás sikertelen. |
object_type |
Az objektum típusa. Alapérték: membership. |
status |
pending, active, cancelled vagy expired. Alapérték: pending. A régi free értéket active-ra alakítja. |
signup_method |
live, manual vagy imported. Alapérték: live. |
Összegek és számlázás
| Kulcs | Jelentés |
|---|---|
currency |
Pénznem. Alapérték: az oldal pénzneme (rcp_get_currency()). |
initial_amount |
A kezdeti díj. Ha kimarad, a szintből számolódik. |
recurring_amount |
A megújítás összege. Ha kimarad, a szintből számolódik. |
auto_renew |
Be van-e kapcsolva az automatikus megújítás. Alapérték: false. |
times_billed |
Eddigi számlázások száma. Alapérték: 0. |
maximum_renewals |
Részletfizetésnél a megújítások felső határa (0 = korlátlan). Alapérték: 0. |
Dátumok
| Kulcs | Jelentés |
|---|---|
created_date |
Létrehozás ideje (MySQL-dátum). Alapérték: a jelenlegi idő. |
trial_end_date |
A próbaidőszak vége. Automatikusan is beállhat, ha az ügyfél jogosult próbaidőszakra és a szint engedi. |
renewed_date |
Az utolsó megújítás ideje. |
cancellation_date |
A lemondás ideje. |
expiration_date |
A lejárat vagy a következő megújítás ideje. Ha üresen hagyod, a szint (és a váltás körülményei) alapján számolódik. A none érték lejárat nélküli tagságot jelent. |
Fizetési átjáró
| Kulcs | Jelentés |
|---|---|
gateway |
Az átjáró azonosítója (slug). |
gateway_customer_id |
Az ügyfél azonosítója az átjárónál (például Stripe cus_…). |
gateway_subscription_id |
Az előfizetés azonosítója az átjárónál (például Stripe sub_…). |
subscription_key |
Egyedi kulcs. Ha kimarad, a tagság metódusain át mentve generálódik. |
Egyéb
| Kulcs | Jelentés |
|---|---|
user_id |
WordPress-felhasználói azonosító. Ha kimarad, az ügyfélből töltődik ki. |
upgraded_from |
Annak a tagságnak az azonosítója, amelyből ezt a tagságot frissítéssel hozták létre. |
notes |
Jegyzetek a tagsághoz. Utólagos jegyzethez a RCP_Membership::add_note() metódust használd. |
disabled |
0 engedélyezett, 1 letiltott (puha törlés). Alapérték: 0. |
Visszatérési érték: az új tagság azonosítója, hiba esetén false (hiányzó customer_id, érvénytelen szint vagy adatbázishiba).
Aktív tagság létrehozása az 50-es ügyfélnek a 2-es szinten:
$membership_id = rcp_add_membership( array( 'customer_id' => 50, 'object_id' => 2, 'status' => 'active',) );
if ( $membership_id ) { $membership = rcp_get_membership( $membership_id ); $membership->activate();}Kézi hozzáadás megadott lejárattal:
$membership_id = rcp_add_membership( array( 'customer_id' => 50, 'object_id' => 2, 'status' => 'active', 'signup_method' => 'manual', 'expiration_date' => '2026-12-31 23:59:59',) );rcp_add_user_to_subscription()
Szekció neve “rcp_add_user_to_subscription()”Egy WordPress-felhasználóhoz tagsági szintet rendel: ha kell, létrehozza az RCP ügyfelet, majd új tagságot ad hozzá, vagy megújítja a meglévőt. Ha az ügyfélnek már van ilyen szintű tagsága, nem készül másolat, hanem a meglévő megújul. Siker esetén lefut az rcp_successful_registration akció.
A függvény a 3.0-s verziótól elavult. Új kódban az rcp_add_membership() vagy az RCP_Customer::add_membership() metódus a javasolt.
Paraméterek:
$user_id(egész): a WordPress-felhasználó azonosítója.$args(tömb): a tagság adatai. Csak asubscription_idkötelező.
| Kulcs | Jelentés |
|---|---|
subscription_id |
Kötelező. A tagsági szint azonosítója. |
status |
active, cancelled, expired vagy a régi free (aktívként kezeli). Alapértéke a szint alapján számolódik. |
expiration |
Lejárat (MySQL-dátum). Ha kimarad, kiszámolódik. |
discount_code |
Kedvezménykód. Rögzíti a használatot és növeli a kód használatszámát. |
subscription_key |
Előfizetési kulcs. |
trial_duration |
Próbaidőszak hossza. Megadásakor a tagság próbaidőszakos lesz. |
trial_duration_unit |
day, month vagy year. Alapérték: day. |
recurring |
Az auto_renew beállítása. Alapérték: false. |
payment_profile_id |
Az átjáró előfizetés- vagy profilazonosítója. |
Visszatérési érték: true siker esetén, false, ha hiányzik vagy érvénytelen a szint azonosítója, vagy a tagság létrehozása nem sikerül.
$added = rcp_add_user_to_subscription( $user_id, array( 'subscription_id' => 2, 'status' => 'active', ));Az új megoldás ugyanerre:
$customer = rcp_get_customer_by_user_id( $user_id );if ( $customer ) { rcp_add_membership( array( 'customer_id' => $customer->get_id(), 'object_id' => 2, 'status' => 'active', ) );}A kézi tagságfelvételről az admin felületen a „Tagság kézi hozzáadása” fejezet szól.
rcp_add_member_note()
Szekció neve “rcp_add_member_note()”Admin jegyzetet fűz a felhasználó RCP ügyfélrekordjához, amely az ügyfél adminisztrációs képernyőjén látszik. Ha a felhasználónak még nincs ügyfélrekordja, nem csinál semmit.
A függvény a 3.0-s verziótól elavult. Ha ismered az ügyfél azonosítóját, az rcp_add_customer_note( $customer_id, $note ) függvényt használd. Ugyanez elérhető az RCP_Customer objektum add_note() metódusával is.
$user_id(egész): a WordPress-felhasználó azonosítója. Alapérték:0.$note(szöveg): a jegyzet szövege. Alapérték: üres.
Nincs visszatérési értéke.
rcp_add_member_note( $user_id, 'Kézi hosszabbítás az év végéig.' );$customer = rcp_get_customer_by_user_id( $user_id );if ( $customer ) { rcp_add_customer_note( $customer->get_id(), 'Személyazonosság ellenőrizve az ügyfélszolgálaton.' );}Készült: