Függvények: tagsági állapot, próbaidőszak és elavult ellenőrzések
Az rcp_get_subscription_id(), rcp_get_subscription_member_count(), rcp_get_user_payments(), rcp_has_used_trial(), rcp_is_active(), rcp_is_expired(), rcp_is_recurring() és rcp_is_pending_verification() függvény.
Egyedi kódhoz tartozó függvények, ezért a bevezetésükhöz érdemes fejlesztő segítségét kérni. A tagságok több példányos kezelése miatt a régi, felhasználóra épülő függvények többsége elavult: lent mindegyiknél ott a javasolt helyettesítő.
rcp_get_subscription_id()
Szekció neve “rcp_get_subscription_id()”Elavult. A felhasználó elsődleges tagságának tagsági szint-azonosítóját adja vissza (a tagság object_id értéke). Belül a régi RCP_Member osztályt és az ügyfél egyetlen, elsődleges tagságát használja. A régi szűrője: rcp_member_get_subscription_id.
Ha egy felhasználónak több tagsága is lehet, használd helyette az rcp_get_customer_membership_level_ids() függvényt.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték: a tagsági szint azonosítója (egész), vagy false, ha nincs.
$level_id = rcp_get_subscription_id();
if ( 2 === (int) $level_id ) { // Az elsődleges tagság a 2-es szintű.}Az ajánlott megoldás:
$customer = rcp_get_customer_by_user_id( $user_id );$level_ids = $customer ? rcp_get_customer_membership_level_ids( $customer->get_id() ) : array();rcp_get_subscription_member_count()
Szekció neve “rcp_get_subscription_member_count()”Megadja, hány tagság van egy tagsági szinten egy adott állapotban. A számokat a tagsági szint metaadatai között gyorsítótárazza, és üres érték esetén újraszámolja.
Az active és a free állapotnál a bővítmény szétválasztja a fizetős és az ingyenes aktív tagokat (az összeg alapján). A többi állapotot az rcp_count_memberships() függvény számolja az object_id és a status alapján. Szűrő: rcp_get_subscription_member_count.
$id(egész): a tagsági szint azonosítója.$status(szöveg): az állapot. Alapérték:active. Az aktív, ingyenes tagságokat afreeadja.
Visszatérési érték: a tagok száma (egész), legalább 0.
$paid_active = rcp_get_subscription_member_count( 3, 'active' );$free_active = rcp_get_subscription_member_count( 3, 'free' );$expired = rcp_get_subscription_member_count( 3, 'expired' );Ha nem szintenként kell számolni, hanem szűrőkkel, használd az rcp_count_memberships() függvényt:
$total_on_level = rcp_count_memberships( array( 'object_id' => 3, 'status' => 'active', ));rcp_get_user_payments()
Szekció neve “rcp_get_user_payments()”Elavult. Egy felhasználó fizetéseit adja vissza az RCP_Payments::get_payments() metóduson át. Új kódban az ügyfél get_payments() metódusát használd.
$user_id(egész): a WordPress-felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.$args(tömb): nem kötelező lekérdezési felülbírálások, ezeket a bővítmény összefésüli auser_idértékkel.
Visszatérési érték (tömb): a fizetések az adatbázisból. Üres tömb, ha hiányzik vagy érvénytelen a $user_id.
$payments = rcp_get_user_payments( $user_id );
foreach ( $payments as $payment ) { // Jellemző tulajdonságok: id, amount, date, status, transaction_id, membership_id stb.}Az ajánlott megoldás:
$customer = rcp_get_customer_by_user_id( $user_id );$payments = $customer ? $customer->get_payments() : array();Kapcsolódik hozzá az RCP_Payments osztály és a fizetések meta API-ja.
rcp_has_used_trial()
Szekció neve “rcp_has_used_trial()”Elavult. Megmondja, hogy a felhasználó használt-e már ingyenes próbaidőszakot (vagy rajta van-e a „próba felhasználva” jelölő). A bővítmény a regisztrációnál ezzel akadályozza meg az ismételt ingyenes próbát. A függvény visszafelé kompatibilitásból még az RCP_Member::has_trialed() metódust hívja.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték (logikai): true, ha a felhasználó már próbálkozott; különben false.
if ( rcp_has_used_trial() ) { // Rejtsd el a próbaidőszakos árat, vagy mutass váltásra ösztönző üzenetet.}Új kódban az ügyfél metódusát használd:
$customer = rcp_get_customer_by_user_id( $user_id );if ( $customer && $customer->has_trialed() ) { // Az ajánlott ellenőrzés.}Összehasonlításul: az rcp_is_trialing() azt mondja meg, hogy a tagság éppen próbaidőszakban van-e.
rcp_is_active()
Szekció neve “rcp_is_active()”Elavult. Azt ellenőrzi, hogy a felhasználónak van-e aktív, fizetős előfizetése (a próbaidőszakot is beleértve). Belül az rcp_user_has_paid_membership() függvényt hívja. Használd közvetlenül azt, vagy az rcp_user_has_active_membership() függvényt, ha bármilyen aktív tagság számít, az ingyenes szintek is.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték (logikai): true, ha aktív fizetős tagsága van (vagy próbaidőszakban van), különben false.
if ( rcp_user_has_paid_membership( $user_id ) ) { // Fizetős (vagy próbaidőszakos) tag.}if ( rcp_user_has_active_membership( $user_id ) ) { // Bármilyen aktív tagság, az ingyenes is.}rcp_is_expired()
Szekció neve “rcp_is_expired()”Elavult. A régi RCP_Member objektummal ellenőrzi, hogy a felhasználó tagsága lejárt-e. Egy konkrét tagságnál az rcp_membership_is_expired(), annak eldöntésére pedig, hogy az ügyfélnek van-e bármilyen lejárt (expired állapotú) tagsága, az rcp_user_has_expired_membership() való.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték (logikai): true, ha a régi ellenőrzés szerint lejárt, különben false.
Egy tagság ellenőrzése:
if ( rcp_membership_is_expired( 456 ) ) { // A 456-os tagság lejárt.}Annak ellenőrzése, hogy a felhasználónak van-e lejárt tagsága:
if ( rcp_user_has_expired_membership( $user_id ) ) { // Az ügyfélnek legalább egy lejárt tagsága van.}rcp_is_recurring()
Szekció neve “rcp_is_recurring()”Elavult. A régi RCP_Member objektummal ellenőrzi, hogy a felhasználónak ismétlődő előfizetése van-e.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték (logikai): true, ha a régi ellenőrzés szerint ismétlődő az előfizetés, különben false.
Egy konkrét tagságnál töltsd be a tagságot az rcp_get_membership() függvénnyel, és hívd a $membership->is_recurring() metódust (vagy az rcp_membership_is_recurring() segédfüggvényt):
$membership = rcp_get_membership( 123 );if ( $membership && $membership->is_recurring() ) { // A 123-as tagság ismétlődő.}rcp_is_pending_verification()
Szekció neve “rcp_is_pending_verification()”Megmondja, hogy a felhasználó ügyfélrekordjának e-mail-megerősítési állapota pending (függőben) van-e. Ez akkor értelmezhető, ha az e-mail-beállításoknál be van kapcsolva az e-mail-cím megerősítésének kérése. Az ügyfelet az rcp_get_customer_by_user_id() függvénnyel tölti be.
$user_id(egész): a felhasználó azonosítója. Alapérték:0, vagyis a bejelentkezett felhasználó.
Visszatérési érték (logikai): true, ha van ügyfél, és megerősítésre vár. false, ha nem vár, nincs ügyfél, vagy a $user_id üres és senki sincs bejelentkezve.
if ( rcp_is_pending_verification() ) { // A bejelentkezett felhasználónak előbb meg kell erősítenie az e-mail-címét.}if ( rcp_is_pending_verification( $user_id ) ) { // Megerősítést kérő üzenet vagy sablonlogika.}Kapcsolódó szűrő: rcp_require_email_verification. Az ügyfél megfelelő metódusa: RCP_Customer::is_pending_verification().
Készült: