Tovább a tartalomhoz

Osztályok: RCP_Discount, RCP_Discounts és RCP_Registration

A kedvezménykód objektuma, az elavult kedvezménytábla-osztály és a regisztráció összegeit kezelő osztály.

Az objektum egyetlen kedvezmény adatait tartalmazza, és segédmetódusokat ad hozzá.

Függvény Mit csinál
rcp_get_discount( $id ) A kedvezményt az azonosítója alapján adja.
rcp_get_discount_by( $mezo, $ertek ) Egy tetszőleges mező szerint keres, például névre vagy kódra.
rcp_get_discounts() Több kedvezményt ad RCP_Discount objektumokként.
$discount = rcp_get_discount( 123 );
$discount = rcp_get_discount_by( 'code', 'beta_tester' );

Az objektumot ne példányosítsd kézzel.

Metódus Mit ad vissza
get_id() A kedvezmény azonosítóját.
get_name() A nevét.
get_description() A leírását.
get_amount() A kedvezmény összegét.
get_unit() Az egységét: % vagy flat (fix összeg).
get_code() A kedvezménykódot.
get_use_count() Hányszor használták fel.
get_max_uses() A legtöbb felhasználást, 0, ha nincs korlát.
get_status() Az állapotot: active vagy disabled.
get_expiration() A lejárat dátumát, vagy üres szöveget, ha nincs.
get_membership_level_ids() Azon szintek azonosítóit, amelyeken a kód használható. Üres tömb, ha bármelyiken.
is_one_time() Igaz, ha egyszeri kedvezmény, hamis, ha ismétlődő.
is_valid( $szint_id ) Igaz, ha a kód felhasználható a megadott szinten.

Az is_valid() akkor ad igazat, ha mind teljesül: az állapot active, a lejárat nincs beállítva vagy a jövőben van, a felhasználások száma nem érte el a korlátot, és a szint szerepel az engedélyezettek között (vagy a kód bármely szinten használható).

Metódus Mit csinál
increment_use_count() Eggyel növeli a felhasználások számát.
decrement_use_count() Eggyel csökkenti.
is_expired() Igaz, ha van lejárat, és az a múltban van.
is_maxed_out() Igaz, ha van felhasználási korlát, és elérték.
has_membership_level_ids() Igaz, ha a kedvezmény egy vagy több szinthez van kötve.
store_for_user( $user_id ) A kódot a felhasználó előzményei közé menti (rcp_user_discounts meta).
remove_from_user( $user_id ) Törli a kódot a felhasználó előzményeiből.

Az osztály elavult, új kódban az rcp_get_discounts() függvényt használd. A kedvezménytáblával dolgozik közvetlenül.

Metódus Mit csinál
get_discounts( $args ) Kedvezményeket kérdez le, például az status argumentum szerint szűrve.
get_discount( $id ) Egy kedvezményt ad az azonosítója alapján adatbázisobjektumként.
get_by( $mezo, $ertek ) Mező szerint keres, alapból a code mezőben.
insert( $args ) Új kedvezményt ment.
update( $id, $args ) Meglévőt módosít, az argumentumai az insert() argumentumai.
get_status( $id ) Az állapota.
get_amount( $id ) Az összege.
get_uses( $id ) A felhasználások száma.
get_max_uses( $id ) A legtöbb felhasználás.
get_subscription_id( $id ) A hozzákapcsolt tagsági szint.
has_subscription_id( $id ) Van-e hozzákapcsolt szint.
increase_uses( $id ) Eggyel növeli a felhasználások számát.
get_expiration( $id ) A lejárat.
get_type( $id ) flat vagy %.
delete( $id ) Törli a kedvezményt.
is_maxed_out( $id ) Elérték-e a felhasználási korlátot.
is_expired( $id ) Lejárt-e.
add_to_user( $user_id, $kod ) Hozzáadja a kódot a felhasználó előzményeihez.
user_has_used( $user_id, $kod ) Használta-e már a felhasználó a kódot.
format_discount( $osszeg, $tipus ) Százaléknál % jelet, fix összegnél pénznemjelet tesz az érték mellé.
calc_discounted_price( $alapar, $osszeg, $tipus ) Kiszámítja a kedvezményes árat.

Az insert() és az update() argumentumai:

Argumentum Típus Jelentése
name szöveg A kedvezmény neve.
description szöveg Leírás.
amount szám A kedvezmény összege.
status szöveg active vagy inactive, alapból inactive.
unit szöveg flat vagy %, alapból %.
code szöveg A kedvezménykód.
expiration szöveg A lejárat Y-m-d formátumban, alapból üres (nincs lejárat).
max_uses egész A legtöbb felhasználás, 0 = korlátlan.
use_count egész A felhasználások száma, alapból 0.
subscription_id egész A hozzákapcsolt szint azonosítója, alapból 0 (nincs).
$discounts_db = new RCP_Discounts();
$discounts = $discounts_db->get_discounts( array( 'status' => 'active' ) );
$discount = $discounts_db->get_by( 'code', 'half_off' );

RCP_Registration: a regisztráció összegei

Szekció neve “RCP_Registration: a regisztráció összegei”

A regisztrációs oldalon ez az osztály állítja össze a regisztrációt: kezeli a szintet, a kedvezményeket és a díjakat, és kiszámolja a végösszeget. A jelenlegi, fő példányt általában az rcp_get_registration() függvénnyel kapod meg.

$registration = new RCP_Registration( $level_id, $discount_code );
Metódus Mit csinál
set_subscription( $szint_id ) Beállítja a regisztráció tagsági szintjét. Ha a szinten van beiratkozási díj, azt magától hozzáadja.
get_membership_level_id() A regisztráció szintjének azonosítóját adja.
get_registration_type() A regisztráció típusát adja: new (új feliratkozás), renewal (megújítás), upgrade (drágább szintre váltás) vagy downgrade (olcsóbbra váltás).
get_membership() A megújított vagy átváltott RCP_Membership objektumot adja, új regisztrációnál hamisat.
is_trial() Igaz, ha a szinten van ingyenes próba, és a felhasználó jogosult rá.
add_discount( $kod, $ismetlodo ) Kedvezményt ad a regisztrációhoz. A második paraméter dönti el, hogy a jövőbeli fizetésekre is vonatkozik-e, vagy csak az elsőre.
get_discounts() Az alkalmazott kedvezménykódok tömbje, vagy hamis.
add_fee( $osszeg, $leiras, $ismetlodo, $aranyos ) Díjat ad a regisztrációhoz.
get_fees() Az alkalmazott díjak tömbje, vagy hamis.
get_total_fees( $osszeg, $csak_ismetlodo ) Az alkalmazott díjak összege.
get_signup_fees() A beiratkozási díjak összege, az időarányos jóváírások és ismétlődő díjak nélkül.
get_proration_credits() A regisztrációra beszámított időarányos jóváírások összege.
get_total_discounts( $osszeg, $csak_ismetlodo ) A kedvezmények összege.
get_total( $kedvezmeny, $dij ) A kezdő végösszeg, a paraméterek szerint kedvezménnyel és díjjal vagy nélkülük.
get_recurring_total( $kedvezmeny, $dij ) Az ismétlődő végösszeg, ugyanígy.

Az add_fee() paraméterei: az összeg, a leírás (például „Beiratkozási díj”), hogy ismétlődő-e a díj, és hogy időarányos jóváírás-e.

$registration = rcp_get_registration();
$registration->add_fee( 50, __( 'Extra beiratkozási díj', 'rcp' ) );

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