Függvények: kedvezménykódok, tagságok száma, tartalomkorlátozás
Az rcp_add_discount(), rcp_delete_discount(), rcp_get_discount(), rcp_get_discount_by(), rcp_get_discounts(), rcp_count_memberships() és rcp_get_content_subscription_levels() függvények.
Egyedi kódhoz tartozó függvények, ezért a bevezetésükhöz érdemes fejlesztő segítségét kérni.
rcp_add_discount()
Szekció neve “rcp_add_discount()”Kedvezménykódot ír az adatbázisba. A code kötelező és egyedi. Az alapértelmezett status értéke disabled, ezért regisztrációhoz active-ra kell állítani. A százalékos kedvezmény (unit = %) egész szám lehet 1 és 100 között. A unit értéke % vagy flat (fix összeg). A régi subscription_id argumentum a membership_level_ids tömbre képeződik le.
Akciók: rcp_pre_add_discount (beszúrás előtt) és rcp_add_discount (beszúrás után).
A $args tömb elemei:
| Kulcs | Jelentés |
|---|---|
code |
Kötelező. Egyedi kód. |
name |
Elhagyható címke. |
description |
Elhagyható leírás. |
amount |
Összeg. Alapérték: 0.00. |
unit |
% vagy flat. Alapérték: %. |
status |
active vagy disabled. Alapérték: disabled. |
max_uses |
Legfeljebb ennyiszer használható. Alapérték: 0 (korlátlan). |
use_count |
A használatok száma. Alapérték: 0. |
expiration |
Elhagyható lejárati időpont. |
membership_level_ids |
Azoknak a szinteknek az azonosítói, amelyekre a kód érvényes. Üresen minden szintre. |
one_time |
Egyszeri használat jelzője. |
subscription_id |
Régi argumentum, egyetlen szint azonosítója. |
Visszatérési érték: az új kedvezmény azonosítója, vagy WP_Error, ha hiányzik a kód, duplikált, érvénytelen az összeg, vagy a beszúrás nem sikerül.
$discount_id = rcp_add_discount( array( 'code' => 'inditas20', 'name' => 'Indulási 20% kedvezmény', 'amount' => 20, 'unit' => '%', 'status' => 'active', 'membership_level_ids' => array( 2, 3 ), ));
if ( is_wp_error( $discount_id ) ) { // Hibakezelés.}Lekérdezéséhez az rcp_get_discount_by() függvény és az RCP_Discount osztály való.
rcp_delete_discount()
Szekció neve “rcp_delete_discount()”Véglegesen töröl egy kedvezménykódot az adatbázisból. A törlés előtt lefut az rcp_delete_discount akció.
$discount_id(egész): a kedvezmény azonosítója.
Visszatérési érték (logikai): a törlési lekérdezés eredménye.
if ( rcp_delete_discount( $discount_id ) ) { // A kedvezmény törölve.}$discount = rcp_get_discount( $discount_id );if ( $discount ) { rcp_delete_discount( $discount->get_id() );}rcp_count_memberships()
Szekció neve “rcp_count_memberships()”Megszámolja a lekérdezésre illeszkedő tagságokat. Ugyanazokat az argumentumokat fogadja, mint az rcp_get_memberships(), a count paramétert belül true-ra állítja, ezért te ne add meg. Alapesetben csak az engedélyezett tagságokat számolja (disabled => 0).
Gyakori szűrők: status, object_id (a tagsági szint azonosítója), customer_id, gateway, expiration_date_query, disabled, number, offset.
Visszatérési érték: az illeszkedő tagságok száma (egész).
Aktív tagságok:
$total = rcp_count_memberships( array( 'status' => 'active',) );A 3-as szint lejárt tagságai:
$total = rcp_count_memberships( array( 'object_id' => 3, 'status' => 'expired',) );2024 decemberében lejáró tagságok:
$total = rcp_count_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' ) ), ),) );rcp_get_content_subscription_levels()
Szekció neve “rcp_get_content_subscription_levels()”Visszaadja, mely tagsági szintek kellenek egy bejegyzés eléréséhez, a bejegyzés rcp_subscription_level meta értéke alapján (ezt a szerkesztő „Tartalom korlátozása” dobozában állítod be). Nem olvassa a teljes bejegyzéstípusra szóló szabályokat és a kategóriákhoz kötött korlátozásokat. Ha ezeket is tartalmazó összesített képet akarsz, használd az rcp_get_post_restrictions() függvényt.
$post_id(egész): a bejegyzés azonosítója. Alapérték:0.
Lehetséges visszatérési értékek:
false: régi érték, amikor a metaall(nincs szintkorlátozás).'any': bármelyik tagsági szint.'any-paid': bármelyik fizetős szint.- tömb: egy vagy több tagsági szint azonosítója.
- üres vagy más hamis érték, ha a bejegyzésen nincs szintkorlátozás.
$levels = rcp_get_content_subscription_levels( get_the_ID() );
if ( 'any-paid' === $levels ) { // Bármelyik fizetős szint kell.}
if ( is_array( $levels ) && in_array( 3, $levels, true ) ) { // A 3-as szint szükséges.}A bejegyzéstípus szintű szabályokat is magában foglaló lekérdezés:
$levels = rcp_get_post_restrictions( get_the_ID() );// A membership_levels kulcs tartalmazza a bejegyzéstípus szabályait is.rcp_get_discount()
Szekció neve “rcp_get_discount()”Egy kedvezménykódot kér le azonosító alapján. Siker esetén RCP_Discount objektumot ad, hiba esetén false-t.
$discount_id(egész): a kedvezmény azonosítója.
$discount = rcp_get_discount( 123 );rcp_get_discount_by()
Szekció neve “rcp_get_discount_by()”Egy kedvezménykódot kér le egy oszlop és egy érték párosa alapján. Siker esetén RCP_Discount objektumot ad, hiba esetén false-t.
$column_name(szöveg): az oszlop neve.$column_value(bármi): az oszlop értéke.
A beta_tester kódú kedvezmény lekérése:
$discount = rcp_get_discount_by( 'code', 'beta_tester' );rcp_get_discounts()
Szekció neve “rcp_get_discounts()”Kedvezménykódok lekérdezése szűrőkkel. Az $args tömb minden eleme elhagyható.
| Kulcs | Jelentés |
|---|---|
id |
Csak ezt az azonosítójú kedvezményt adja vissza. |
id__in |
Azonosítók tömbje, csak ezeket adja vissza. |
id__not_in |
Azonosítók tömbje, ezeket kihagyja. |
name |
A kedvezmény neve. |
amount |
Az összeg szerinti szűrés. |
unit |
Az egység szerinti szűrés (percentage vagy flat). |
code |
A kód szerinti szűrés. |
status |
active vagy disabled. |
one_time |
1: csak az egyszeri kedvezmények, 0: csak az ismétlődők. Ha kimarad, mindegyik. |
expiration_query |
Lejárati idő szerinti szűrés (WP_Date_Query formátum). |
date_created_query |
A létrehozás ideje szerinti szűrés (WP_Date_Query formátum). |
date_modified_query |
Az utolsó módosítás ideje szerinti szűrés (WP_Date_Query formátum). |
count |
true: csak a találatok számát adja, false: RCP_Discount objektumok tömbjét. Alapérték: false. |
fields |
A visszaadott mezők (bármelyik oszlopnév). Üresen teljes objektumokat ad. |
number |
Legfeljebb ennyi találat. Alapérték: 20. |
offset |
Kihagyott találatok száma. Alapérték: 0. |
orderby |
Rendezés: id, name, code, use_count, max_uses, status, expiration, date_created, date_modified. Alapérték: id. |
order |
ASC vagy DESC. Alapérték: DESC. |
search |
Keresőszó a name, description és code oszlopokban. |
Visszatérési érték: RCP_Discount objektumok tömbje, találat nélkül üres tömb.
Legfeljebb 100 aktív kedvezménykód:
$discounts = rcp_get_discounts( array( 'status' => 'active', 'number' => 100,) );Azoknak a kedvezményeknek az azonosítója, amelyek 2000. január 1. és az idei év vége között járnak le:
$discounts = rcp_get_discounts( array( 'expiration_query' => array( 'after' => '2000-01-01 00:00:00', 'before' => date( 'Y-12-31 23:59:59' ), 'inclusive' => true, ), 'fields' => 'id',) );Készült: