Tovább a tartalomhoz

Függvények: tagságok és szintek lekérdezése

Az rcp_get_membership(), rcp_get_membership_cancel_url(), rcp_get_memberships() függvények és a tagsági szintek sorrendjét módosító szűrők.

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

Egyetlen tagságot kér le az azonosítója alapján. RCP_Membership objektumot ad vissza, amelyből kiolvasható az állapot, a dátumok, a fizetési átjáró azonosítói, és használhatók a segédmetódusai.

  • $membership_id (egész): a tagság azonosítója az adatbázisban.

Visszatérési érték: RCP_Membership objektum, vagy false, ha nincs ilyen azonosítójú tagság.

Több tagság lekérdezéséhez az rcp_get_memberships() való. Ha egy tagságot más oszlop alapján keresel (például subscription_key), használd az rcp_get_membership_by( $field, $value ) segédfüggvényt. Ez csak az engedélyezett tagságokat adja vissza.

Tagság betöltése és az állapotának kiírása:

$membership = rcp_get_membership( 123 );
if ( $membership ) {
echo $membership->get_status();
}

Egy ügyfél tagságainak végigjárása az RCP_Customer objektumon át:

$customer = rcp_get_customer_by_user_id( 44 );
if ( $customer ) {
foreach ( $customer->get_memberships() as $membership ) {
echo $membership->get_membership_level_name();
}
}

Előállítja azt a nonce-szal védett URL-t, amelyen a tag lemondhat egy ismétlődő tagságot (rcp-action=cancel és membership-id lekérdezési argumentumokkal). Ha a bejelentkezett felhasználó megnyitja az URL-t, a bővítmény elvégzi a lemondást.

Az URL csak ismétlődő tagságra készül, egyébként üres szöveget kapsz. Szűrők: rcp_membership_cancel_url (a 3.0-tól), rcp_member_cancel_url (elavult).

  • $membership_id (egész): a tagság azonosítója.

Visszatérési érték (szöveg): a lemondási URL, vagy üres szöveg, ha a tagság nem ismétlődő.

$url = rcp_get_membership_cancel_url( $membership_id );
if ( $url && rcp_can_membership_be_cancelled( $membership_id ) ) {
echo '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Előfizetés lemondása', 'rcp' ) . '</a>';
}

A tagsági szintek alapértelmezett sorrendjét két szűrő szabályozza, ez határozza meg a [register_form] oldalon a szintek sorrendjét:

  • rcp_get_membership_levels_default_orderby: a rendezés alapja.
  • rcp_get_membership_levels_default_order: a rendezés iránya (ASC vagy DESC).

A szintek rendezése név szerint, csökkenő sorrendben:

// A tagsági szintek sorrendjének módosítása.
function my_level_orderby( $orderby ) {
return 'name';
}
add_filter( 'rcp_get_membership_levels_default_orderby', 'my_level_orderby', 20 );
function my_level_order( $order ) {
return 'DESC';
}
add_filter( 'rcp_get_membership_levels_default_order', 'my_level_order', 20 );

Tagságok lekérdezése szűrőkkel. Az $args tömb minden eleme elhagyható.

Kulcs Jelentés
id Egyetlen tagság azonosítója.
id__in, id__not_in Tagságazonosítók, amelyeket bele kell venni, illetve ki kell hagyni (tömb).
customer_id Csak ennek az ügyfélnek a tagságai.
customer_id__in, customer_id__not_in Ügyfélazonosítók szerinti szűrés (tömb).
object_id A tagsági szint azonosítója.
object_id__in, object_id__not_in Szintazonosítók szerinti szűrés (tömb).
object_type Az objektum típusa.
object_type__in, object_type__not_in Objektumtípusok szerinti szűrés (tömb).
currency Pénznemkód.
created_date_query, trial_end_date_query, cancellation_date_query, expiration_date_query Létrehozás, próbaidő vége, lemondás és lejárat ideje szerinti szűrés (WP_Date_Query formátum).
auto_renew 1: ismétlődő, 0: nem ismétlődő. Alapérték: null (mindkettő).
status Állapot: pending, active, cancelled, expired.
status__in, status__not_in Állapotok szerinti szűrés (tömb).
gateway_customer_id, gateway_subscription_id, gateway, subscription_key A fizetési átjáró azonosítói és a tagság kulcsa (szöveg).
upgraded_from Annak a tagságnak az azonosítója, amelyről a tagság frissítve lett.
disabled null: mind, 0: csak az engedélyezettek, 1: csak a letiltottak. Alapérték: 0.
meta_query Meta-lekérdezés (tömbök tömbje).
count true: a találatok számát adja, false: objektumokat. Alapérték: false.
fields A visszaadott oszlop neve. Üresen teljes objektumokat 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, order Rendezés. Alapérték: id és DESC.
search Keresőszó.
update_cache Előtölti a gyorsítótárat. Alapérték: false.

Visszatérési érték: RCP_Membership objektumok tömbje.

Az aktív tagságok:

$memberships = rcp_get_memberships( array(
'status' => 'active'
) );

A 3-as szint lejárt tagságai:

$memberships = rcp_get_memberships( array(
'object_id' => 3,
'status' => 'expired'
) );

Öt Stripe-tagság:

$memberships = rcp_get_memberships( array(
'number' => 5,
'gateway' => 'stripe'
) );

A 2024 decemberében lejáró tagságok lejáratása:

$memberships = rcp_get_memberships( array(
'expiration_date_query' => array(
'after' => date( '2024-12-01 00:00:00', current_time( 'timestamp' ) ),
'before' => date( '2024-12-31 23:59:59', current_time( 'timestamp' ) ),
),
'number' => 9999
) );
if ( ! empty( $memberships ) ) {
foreach ( $memberships as $membership ) {
$membership->expire();
}
}

Az automatikus megújítás leállítása az aktív, ismétlődő tagságoknál:

$memberships = rcp_get_memberships( array(
'status' => 'active',
'auto_renew' => 1,
'number' => 9999
) );
if ( ! empty( $memberships ) ) {
foreach ( $memberships as $membership ) {
if ( $membership->can_cancel() ) {
$membership->cancel_payment_profile();
}
}
}

Az aktív tagságok, amelyeknél a company meta értéke Minta Kft.:

$memberships = rcp_get_memberships( array(
'status' => 'active',
'number' => 9999,
'meta_query' => array(
array(
'key' => 'company',
'value' => 'Minta Kft.',
)
)
) );

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