Zichtbaarheid per rol hooks
Deze pagina toont de 5 hooks van deze groep. Elke hook laat zijn type zien, de versie waarin hij verscheen, waar hij draait, zijn argumenten en een beginpunt.
adba_menu_role_layoutadba_protected_itemsadba_simple_profile_autoadba_visibility_collectorsadba_visibility_types
adba_menu_role_layout
FilterSinds 2.11.0 Draait in src/Visibility/MenuModel.php.
Filtert de menu-indeling van een rol: de groepen, volgorde en labels die de zijbalk gebruikt voor gebruikers met die rol. Null betekent dat de rol de algemene indeling volgt. Rolpresets kunnen hier een indeling invullen zonder die op te slaan.
| Argument | Type | Beschrijving |
|---|---|---|
$layout | array{groups: array<int, array{id: string, label: string, items: string[], icon?: string}>, order: string[], labels: array<string, string>}|null | Indeling van de rol, of null. |
$role | string | Eerste rol van de gebruiker met een indeling, of de eerste rol. |
$roles | string[] | Alle rollen van de gebruiker. |
add_filter( 'adba_menu_role_layout', function ( $layout, $role, $roles ) {
return $layout;
}, 10, 3 );
adba_protected_items
FilterSinds 1.3.0 Draait in src/Visibility/RuleEngine.php.
Filtert de items die nooit verborgen kunnen worden, als type => item-id's.
Alleen toevoegen werkt: de eigen beschermde items van Addofy (zijn menu) worden altijd teruggezet.
| Argument | Type | Beschrijving |
|---|---|---|
$items | array<string, string[]> | Item-id's per type. |
add_filter( 'adba_protected_items', function ( $items ) {
return $items;
} );
adba_simple_profile_auto
FilterSinds 2.24.0 Draait in src/Visibility/RuleEngine.php.
Filtert het profiel dat Automatisch voor een gebruiker kiest: shop als WooCommerce actief is en de gebruiker edit_shop_orders heeft, anders editorial. Geef het id van een geregistreerd profiel terug (zie adba_simple_profiles). Wordt alleen gebruikt als de gebruiker en zijn rollen voor Automatisch kozen.
| Argument | Type | Beschrijving |
|---|---|---|
$profile | string | Gekozen profiel-id. |
$user_id | int | Gebruikers-id. |
add_filter( 'adba_simple_profile_auto', function ( $profile, $user_id ) {
return $profile;
}, 10, 2 );
adba_visibility_collectors
FilterSinds 1.3.0 Draait in src/Modules/Visibility/Visibility.php.
Filtert de collectors die menu-items, metaboxen en andere items voor de tab Zichtbaarheid vastleggen.
Elke entry is een klassenaam die CollectorInterface implementeert (breid AbstractCollector uit). Hij wordt gebouwd met de plugin-resolver en de registry, en alleen bij admin-GET-requests door een beheerder. Leg items vast van een type dat je via adba_visibility_types toevoegde en verberg ze zelf met RuleEngine::is_hidden().
| Argument | Type | Beschrijving |
|---|---|---|
$collectors | array<int, class-string<CollectorInterface>> | Namen van collectorclasses. |
add_filter( 'adba_visibility_collectors', function ( $collectors ) {
return $collectors;
} );
adba_visibility_types
FilterSinds 1.3.0 Draait in src/Visibility/Registry.php.
Filtert de itemtypes van de tab Zichtbaarheid, als type => label.
Voeg een type toe (kleine letters, cijfers en _) om het een eigen sectie te geven in de tab, in de export en in de registry. Addofy past regels alleen toe op zijn eigen zes types: verberg items van jouw type zelf, met adba( 'rules' )->is_hidden( $type, $id ). Ingebouwde types kunnen niet worden verwijderd.
| Argument | Type | Beschrijving |
|---|---|---|
$labels | array<string, string> | Labels op type. |
add_filter( 'adba_visibility_types', function ( $labels ) {
return $labels;
} );
Klaar om het te proberen?