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.
rcp_get_membership()
Szekció neve “rcp_get_membership()”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(); }}rcp_get_membership_cancel_url()
Szekció neve “rcp_get_membership_cancel_url()”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>';}rcp_get_membership_levels
Szekció neve “rcp_get_membership_levels”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 (ASCvagyDESC).
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 );rcp_get_memberships()
Szekció neve “rcp_get_memberships()”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: