Csoportfiókok fejlesztőknek: objektumok, függvények, akciók és szűrők
A Group Accounts PHP-felülete: a csoport és csoporttag objektumok, a lekérdező függvények, a csoportmeta, az akciók és a szűrők.
Ez a fejezet a Group Accounts programozói felületét foglalja össze. A csoport- és csoporttag-objektumok, valamint a hozzájuk tartozó függvények a Group Accounts 2.0-s vagy újabb változatában érhetők el.
A csoport objektum (RCPGA_Group)
Szekció neve “A csoport objektum (RCPGA_Group)”Egy csoport minden adatát tartalmazza. Az rcpga_get_group() függvénnyel kapod meg.
| Metódus | Mit ad vissza |
|---|---|
get_group_id() |
A csoport azonosítóját. |
get_owner_id() |
A tulajdonos felhasználói azonosítóját. |
get_owner() |
A tulajdonos WP_User objektumát. |
get_membership_id() |
A csoporthoz kapcsolt tagság azonosítóját, vagyis a tulajdonos tagságáét. |
is_active() |
Igaz, ha a csoport aktív, azaz a hozzá tartozó tagság aktív. |
get_name() |
A csoport nevét. |
get_description() |
A csoport leírását. |
get_code() |
A csoportkódot (2.1-től). |
get_seats() |
A csoport legnagyobb férőhelyszámát. |
get_member_count() |
A csoport jelenlegi tagjainak számát. |
get_date_created( $formatted = false ) |
A létrehozás dátumát. Ha $formatted hamis, Y-m-d H:i:s formátumban, ha igaz, megjelenítésre kész szövegként. |
get_members() |
A csoport tagjait RCPGA_Group_Member objektumok tömbjeként. |
update( $args = array() ) |
Módosítja a csoportot a megadott adatokkal. |
add_member( $args ) |
Új tagot ad a csoporthoz. |
$group = rcpga_get_group( 1 );$group->update( array( 'name' => 'Új csoportnév') );Az add_member() paraméterei:
| Paraméter | Típus | Leírás |
|---|---|---|
user_email |
string | Kötelező. A hozzáadandó tag e-mail-címe. Létező felhasználó vagy olyan is lehet, aki még nem létezik, ekkor új fiók jön létre. |
user_login |
string | Nem kötelező. Az új tag felhasználóneve, megadás nélkül az e-mail-cím. |
first_name |
string | Nem kötelező. Keresztnév. |
last_name |
string | Nem kötelező. Vezetéknév. |
user_pass |
string | Nem kötelező. Jelszó, megadás nélkül véletlenszerű. |
role |
string | Nem kötelező. Szerepkör: owner, admin, member vagy invited. Alapértelmezés: invited. |
send_invite |
bool | Nem kötelező. Küldjön-e meghívó e-mailt. Alapértelmezés: igen. |
Siker esetén az új csoporttag azonosítóját adja vissza, hiba esetén WP_Error objektumot.
$group = rcpga_get_group( 1 );$group->add_member( array( 'role' => 'invited', 'send_invite' => true) );Csoportfüggvények
Szekció neve “Csoportfüggvények”| Függvény | Mit csinál |
|---|---|
rcpga_get_group( $group_id ) |
RCPGA_Group objektumot ad vissza, vagy hamisat, ha nincs ilyen csoport. |
rcpga_get_groups( $args = array() ) |
Csoportokat kérdez le, RCPGA_Group objektumok tömbjét adja. |
rcpga_count_groups( $args = array() ) |
Megszámolja a csoportokat, ugyanazokkal az argumentumokkal, mint a lekérdezés. |
rcpga_add_group( $args = array() ) |
Új csoportot hoz létre. Siker esetén az azonosítót adja, hiba esetén WP_Error-t. |
Az rcpga_get_groups() argumentumai (mind elhagyható):
| Argumentum | Leírás |
|---|---|
owner_id |
Szűrés a tulajdonos felhasználói azonosítójára. |
name |
Keresés a csoport nevében. |
code |
Keresés a csoportkódban (2.1-től). |
date_created_query |
Szűrés a létrehozás dátumára, a WP_Date_Query formátumában. |
number |
Legfeljebb ennyi találat. Alapérték: 20. |
offset |
Ennyi találat kihagyása. Alapérték: 0. |
orderby |
Rendezés: group_id, owner_id, name, seats, member_count, date_created. Alapérték: group_id. |
order |
ASC vagy DESC. Alapérték: DESC. |
search |
Keresés. |
Az rcpga_add_group() argumentumai:
| Argumentum | Leírás |
|---|---|
owner_id |
Kötelező. A tulajdonos felhasználói azonosítója. |
membership_id |
Nem kötelező. A hozzá tartozó tagság azonosítója, a tulajdonosé. Ha nem adod meg, a csoport nem lesz teljesen aktív és használható. |
name |
Kötelező. A csoport neve. |
description |
Nem kötelező. A csoport leírása. |
seats |
Nem kötelező. Legnagyobb férőhelyszám. Ha kimarad, és a membership_id meg van adva, a tagsági szint beállítása alapján számolódik. |
member_count |
Nem kötelező. A jelenlegi tagok száma, alapértelmezés: 1 (a tulajdonossal együtt). |
Csoportmeta
Szekció neve “Csoportmeta”A csoportmeta a Group Accounts 2.1-es vagy újabb változatában érhető el. A függvények ugyanúgy működnek, mint a bejegyzések metaadatainál.
| Függvény | Megfelelője |
|---|---|
RCPGA\Groups\get_meta( $group_id, $key = '', $single = false ) |
get_post_meta() |
RCPGA\Groups\add_meta( $group_id, $meta_key, $meta_value, $unique = false ) |
add_post_meta() |
RCPGA\Groups\update_meta( $group_id, $meta_key, $meta_value, $prev_value = '' ) |
update_post_meta() |
RCPGA\Groups\delete_meta( $group_id, $meta_key, $meta_value = '' ) |
delete_post_meta() |
A csoporttag objektum (RCPGA_Group_Member)
Szekció neve “A csoporttag objektum (RCPGA_Group_Member)”| Metódus | Mit csinál |
|---|---|
get_id() |
A csoporttag egyedi azonosítóját adja. Ez nem a felhasználói azonosító. |
get_user_id() |
A felhasználói azonosítót adja. |
get_group_id() |
Annak a csoportnak az azonosítóját adja, amelyben a tag van. |
get_role() |
A tag szerepkörét adja: owner, admin, member vagy invited. |
get_date_added( $formatted = false ) |
A csoporthoz adás dátumát adja, a get_date_created() mintájára. |
update( $data = array() ) |
Módosítja a csoporttag rekordját. |
remove() |
Eltávolítja a tagot a csoportból. |
resend_invite() |
Újra elküldi a meghívó e-mailt. |
Csoporttag-függvények
Szekció neve “Csoporttag-függvények”| Függvény | Mit csinál |
|---|---|
rcpga_get_group_member( $user_id, $group_id ) |
Egy felhasználó csoporttag-rekordját adja egy adott csoportban. Siker esetén RCPGA_Group_Member objektum, különben hamis. |
rcpga_get_group_member_by_id( $id ) |
A csoporttagot az egyedi azonosítója alapján adja. |
rcpga_get_group_members( $args = array() ) |
Csoporttag-rekordokat kérdez le. |
rcpga_count_group_members( $args = array() ) |
Megszámolja a csoporttagokat, ugyanazokkal az argumentumokkal. |
rcpga_delete_all_members_of_group( $group_id ) |
Törli a megadott csoport összes tagját. |
rcpga_user_is_group_member( $user_id = 0, $role = '' ) |
Megmondja, hogy a felhasználó tagja-e bármelyik csoportnak. A $user_id alapértéke a bejelentkezett felhasználó, a $role megadásával egy adott szerepkörre szűkíthetsz. |
rcpga_user_is_member_of_group( $user_id, $group_id ) |
Megmondja, hogy a felhasználó tagja-e a megadott csoportnak. |
Az rcpga_get_group_members() argumentumai (mind elhagyható):
| Argumentum | Leírás |
|---|---|
user_id |
Szűrés felhasználói azonosítóra. |
user_id__in |
Felhasználói azonosítók tömbje. |
group_id |
Szűrés csoportazonosítóra. |
group_id__in |
Csoportazonosítók tömbje. |
role |
Szűrés a csoporton belüli szerepkörre. |
number |
Legfeljebb ennyi rekord. Alapérték: 20. |
offset |
Ennyi rekord kihagyása. Alapérték: 0. |
orderby |
Rendezés: id, user_id, group_id, role, date_created. Alapérték: id. |
order |
ASC vagy DESC. Alapérték: DESC. |
Példa: az aktuális felhasználó azon csoporttagságainak lekérdezése, ahol „member” vagy „admin”, és a csoport tulajdonosának azonosítója:
$group_memberships = rcpga_get_group_members( array( 'user_id' => get_current_user_id(), 'role__in' => array( 'member', 'admin' )) );foreach ( $group_memberships as $group_membership ) { $group = $group_membership->get_group(); if ( $group instanceof RCPGA_Group ) { // A csoport tulajdonosának felhasználói azonosítója. $group_owner_user_id = $group->get_owner_id(); }}Annak ellenőrzése, hogy az aktuális felhasználó tagja-e valamelyik csoportnak, illetve admin-e valamelyikben:
$is_group_member = rcpga_user_is_group_member( get_current_user_id() );$is_admin_group_member = rcpga_user_is_group_member( get_current_user_id(), 'admin' );Egyéb függvények
Szekció neve “Egyéb függvények”| Függvény | Mit csinál |
|---|---|
rcpga_send_group_invite( $user_id ) |
Elküldi a csoportmeghívó hivatkozást a megadott felhasználónak. |
rcpga_get_level_group_seats_allowed( $level_id ) |
A tagsági szinthez engedélyezett férőhelyek számát adja. |
rcpga_is_level_group_accounts_enabled( $level_id ) |
Igazat ad, ha a szinten be van kapcsolva a csoportfiók. |
rcpga_get_group_enabled_levels() |
Azoknak a tagsági szinteknek az azonosítóit adja, amelyeken a csoportfiók be van kapcsolva. |
Elavult függvények
Szekció neve “Elavult függvények”A 2.0-s változatban elavultak lettek az alábbiak. Új kódban használd helyettük a fenti függvényeket.
| Függvény | Mit csinált |
|---|---|
rcpga_group_accounts()->groups->get_owner_id( $group_id = 0 ) |
A csoport tulajdonosának azonosítóját adta. |
rcpga_group_accounts()->groups->get_group_by_owner( $owner_id ) |
A tulajdonos azonosítójából adta a csoport adatait. |
rcpga_group_accounts()->groups->is_group_active( $group_id = 0 ) |
Igaz, ha a tulajdonos előfizetése még aktív. |
rcpga_group_accounts()->groups->get_groups( $args = array() ) |
Csoportokat kérdezett le (number 20, offset 0, status, order DESC, orderby group_id, where). |
rcpga_group_accounts()->groups->add( $args = array() ) |
Új csoportot hozott létre (owner_id kötelező, description, name, seats, member_count, date_created). |
rcpga_group_accounts()->groups->update( $group_id, $args = array() ) |
Módosította a csoport adatait. |
rcpga_group_accounts()->members->get_members( $group_id, $args = array() ) |
A csoport tagjait adta (number 20, offset 0). |
rcpga_group_accounts()->members->is_group_owner( $user_id = 0 ) |
Igaz, ha a felhasználó csoporttulajdonos. |
rcpga_group_accounts()->members->is_group_admin( $user_id = 0 ) |
Igaz, ha a felhasználó csoportadmin. |
rcpga_group_accounts()->members->is_group_member( $user_id = 0 ) |
Igaz, ha a felhasználó csoporttag. |
rcpga_group_accounts()->members->get_role( $user_id = 0 ) |
A felhasználó szerepkörét adta, vagy hamisat, ha nincs csoportban. |
rcpga_group_accounts()->members->get_group_name( $user_id = 0 ) |
A felhasználó csoportjának nevét adta. |
rcpga_group_accounts()->members->get_group_id( $user_id = 0 ) |
A felhasználó csoportjának azonosítóját adta. |
rcpga_group_accounts()->members->add( $args = array() ) |
Tagot adott a csoporthoz (user_id, group_id, role, date_added). |
rcpga_group_accounts()->members->remove( $user_id ) |
Eltávolította a felhasználót minden csoportból. |
rcpga_group_accounts()->members->remove_all_from_group( $group_id ) |
Minden tagot eltávolított egy csoportból. |
rcpga_add_member_to_group( $args ) |
Tagot adott a csoporthoz, és ha a felhasználó nem létezett, létrehozta (user_email, group_id, send_invite). Siker esetén a felhasználó azonosítóját adta. |
Akciók
Szekció neve “Akciók”| Akció | Mikor fut le | Paraméterek |
|---|---|---|
rcpga_add_member_to_group_after |
Közvetlenül azután, hogy új felhasználó került a csoportba. A $_POST adatok elérhetők. |
$user_id (int): az új tag felhasználói azonosítója. $args (array): a hozzáadás argumentumai, például group_id, user_email, user_login, first_name, last_name, user_pass, send_invite, role. |
rcpga_send_group_invite |
Közvetlenül a meghívó e-mail elküldése után. | $user_id (int): akinek a meghívót küldték. $email (string): a cím, ahová küldték. |
rcpga_remove_member |
Közvetlenül azután, hogy egy tagot eltávolítottak a csoportból. | $user_id (int): a tag felhasználói azonosítója. $group_id (int): a csoport azonosítója. |
Szűrők
Szekció neve “Szűrők”| Szűrő | Mit módosíthatsz vele | Paraméterek |
|---|---|---|
rcpga_invite_user_args |
A csoporthoz adott új tag argumentumait. | $args (array): group_id, user_email, user_login, first_name, last_name, user_pass, send_invite, role. |
rcpga_send_group_invite_args |
A meghívó e-mailt: a címzettet, a tárgyat és az üzenetet. | $email_info (array): to, subject, message, headers. $user_id (int): a címzett felhasználó azonosítója. |
rcpga_get_level_group_seats_allowed |
Egy tagsági szinthez engedélyezett férőhelyek számát. | $number (int): a férőhelyek száma. $level_id (int): a szint azonosítója. |
rcpga_is_level_group_accounts_enabled |
Azt, hogy egy szinten be van-e kapcsolva a csoportfiók. | $enabled (bool). $level_id (int). |
rcpga_get_member_role_label |
A szerepkörök megjelenített nevét (Owner, Admin, Member, Invited). | $label (string): a megjelenő név. $role (string): a szerepkör kulcsa (owner, admin, member, invited). |
Példa: az „Owner” felirat átnevezése „Vezető”-re:
function pelda_rcpga_get_member_role_label( $label, $role ) { if ( 'owner' === $role ) { $label = __( 'Vezető' ); }
return $label;}add_filter( 'rcpga_get_member_role_label', 'pelda_rcpga_get_member_role_label', 10, 2 );Készült: