Jake Vanderwerf
2026-02-11 a46467b9149ef5435124c3cfab5737332293afa5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/**
 * JVB_USER -> defines user roles. Mainly for Dashboard/Directory sites
 *      Structure: slug => $options
 *    Note: slug is prepended with BASE
 *     $options includes:
 *         - has_dashboard        = user has access to custom dashboard
 *         - can_create        = (array) of post types and taxonomies they can create
 *                             --> Optionally, if the user is split between types (example: tattoo artist vs piercer), you can define types here.
 *                                 ex: [
 *                                     ['tattoo-artist'    => ['tattoo', 'artwork']],
 *                                     ['piercer'        => ['piercing', 'artwork']],
 *                                 ]
 *         - manage_others    = (array) of post types this role can manage other users items
 *         - can_register        = (bool) if true, this user can self register
 *         - profile            = (string) associated post type to treat as archive page, as registered in JVB_CONTENT
 *         - register_fields    = (array) of field names available in registration, as defined in settings OR associated profile JVB_CONTENT
 *         - approve_new        = (bool) if true, user content is hidden until verified by admin/other verified users
 *         - keep_stats        = (bool) if true, creates a statistics table that tracks how much content is created per user per day
 *         - settings            = (array) of fields users can modify
 *         - admin                = (array) of fields admin/moderators can modify, attached to user
 *        - register            = (array) of field names as defined in settings that are on registration, if can_register === true
 *         - description        = (array|string) if an array, each item in array will be it's own paragraph
 *                             -> description of the user role. Used in the registration page
 */
 
$defaults = [];
if (array_key_exists('enthusiast', JVB_SITE) && JVB_SITE['enthusiast'] === true) {
    $defaults['enthusiast'] = [
        'label'            => 'Enthusiast',
        'has_dashboard'    => true,
        'can_create'       => [],
        'can_register'     => true,
        'can_favourite'    => true,
        'keep_stats'       => true,
        'join_text'        => 'Save your favourites. Get Notified.',
        'join_title'       => 'Welcome to the Scene.',
        'join_description' => [
            'Save your favourites for easy access',
            'Get notified when your favourite artists add new content',
            'Stay in the loop with local flash days and events',
            'Discover styles and artists that match your vision'
        ],
        'join_bonus'       => '<strong>BONUS: </strong>Everything\'s free. And always will be. We work with partners vetted by the community to keep the lights on.',
    ];
}
 
$users = array_merge($defaults, apply_filters('jvb_user', []));
define('JVB_USER', $users);