Tovább a tartalomhoz

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ő.

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();

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 a free adja.

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',
)
);

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 a user_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.

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.

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.
}

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.
}

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ő.
}

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások